From 8b4f9efa449fc7b8224c650b9b91cda9ab110960 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 26 Jun 2025 12:16:45 +1000 Subject: [PATCH] New Crowdin translations by GitHub Action (#9813) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../InvenTree/locale/ar/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/bg/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/cs/LC_MESSAGES/django.po | 2127 ++++++++-------- .../InvenTree/locale/da/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/de/LC_MESSAGES/django.po | 2127 ++++++++-------- .../InvenTree/locale/el/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/en/LC_MESSAGES/django.po | 2143 ++++++++-------- .../InvenTree/locale/es/LC_MESSAGES/django.po | 2127 ++++++++-------- .../locale/es_MX/LC_MESSAGES/django.po | 2127 ++++++++-------- .../InvenTree/locale/et/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/fa/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/fi/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/fr/LC_MESSAGES/django.po | 2157 ++++++++-------- .../InvenTree/locale/he/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/hi/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/hu/LC_MESSAGES/django.po | 2127 ++++++++-------- .../InvenTree/locale/id/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/it/LC_MESSAGES/django.po | 2155 ++++++++-------- .../InvenTree/locale/ja/LC_MESSAGES/django.po | 2127 ++++++++-------- .../InvenTree/locale/ko/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/lt/LC_MESSAGES/django.po | 2127 ++++++++-------- .../InvenTree/locale/lv/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/nl/LC_MESSAGES/django.po | 2211 +++++++++-------- .../InvenTree/locale/no/LC_MESSAGES/django.po | 2127 ++++++++-------- .../InvenTree/locale/pl/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/pt/LC_MESSAGES/django.po | 2127 ++++++++-------- .../locale/pt_BR/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/ro/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/ru/LC_MESSAGES/django.po | 2207 ++++++++-------- .../InvenTree/locale/sk/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/sl/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/sr/LC_MESSAGES/django.po | 2127 ++++++++-------- .../InvenTree/locale/sv/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/th/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/tr/LC_MESSAGES/django.po | 2153 ++++++++-------- .../InvenTree/locale/uk/LC_MESSAGES/django.po | 2145 ++++++++-------- .../InvenTree/locale/vi/LC_MESSAGES/django.po | 2127 ++++++++-------- .../locale/zh_Hans/LC_MESSAGES/django.po | 2127 ++++++++-------- .../locale/zh_Hant/LC_MESSAGES/django.po | 2127 ++++++++-------- src/frontend/src/locales/fr/messages.po | 2 +- src/frontend/src/locales/it/messages.po | 2 +- src/frontend/src/locales/nl/messages.po | 2 +- src/frontend/src/locales/ru/messages.po | 266 +- src/frontend/src/locales/tr/messages.po | 2 +- src/frontend/src/locales/zh_Hans/messages.po | 382 +-- 45 files changed, 44281 insertions(+), 39952 deletions(-) diff --git a/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po index 381ee13db6..3fb7bfd990 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Language: ar_SA\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "نقطة نهاية API غير موجودة" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "المستخدم ليس لديه الصلاحية لعرض هذا النموذج" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "ملاحظات" @@ -356,7 +356,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "البريد الإلكتروني" @@ -408,19 +408,19 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "" @@ -479,11 +479,11 @@ msgstr "" msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "" @@ -527,29 +527,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "" @@ -854,7 +854,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "" msgid "Complete" msgstr "" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3513,331 +3638,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index 43f18f14a2..ab86644c95 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "Не е намерена крайна точка на API" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Потребителя няма нужното разрешение, за да вижда този модел" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Бележки" @@ -356,7 +356,7 @@ msgstr "Китайски (традиционен)" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "" @@ -408,19 +408,19 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "" @@ -479,11 +479,11 @@ msgstr "" msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "" @@ -527,29 +527,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "Част" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "" @@ -854,7 +854,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "" msgid "Complete" msgstr "" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "Потребител" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3513,331 +3638,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Цялостна наличност" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index d3e33936eb..fc52964e05 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "Před tím, než budete dělat cokoli jiného, musíte zapnout dvoufaktorové ověřování." -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API endpoint nebyl nalezen" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "Seznam položek nebo filtrů musí být k dispozici pro hromadnou operaci" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "Položky musí být uvedeny jako seznam" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "Zadán neplatný seznam položek" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "Filtry musí být uvedeny jako slovník" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "Poskytnuty neplatné filtry" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "Zadaným kritériím neodpovídají žádné položky" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Uživatel nemá právo zobrazit tento model" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "Neplaté desetinné číslo" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Poznámky" @@ -356,7 +356,7 @@ msgstr "Čínština (tradiční)" msgid "Log in to the app" msgstr "Přihlásit se do aplikace" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "E-mail" @@ -408,19 +408,19 @@ msgstr "Duplicitní názvy nemohou existovat pod stejným nadřazeným názvem" msgid "Invalid choice" msgstr "Neplatný výběr" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Název" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Popis" msgid "Description (optional)" msgstr "Popis (volitelně)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Cesta" @@ -479,11 +479,11 @@ msgstr "Server zaznamenal chybu." msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Měna" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Vyberte měnu z dostupných možností" @@ -527,29 +527,29 @@ msgstr "Nesmí přesáhnout 100%" msgid "Invalid value for overage" msgstr "Neplatná hodnota překročení" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Stav objednávky" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Nadřazená sestava" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "Zahrnout varianty" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "Zahrnout varianty" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "Zahrnout varianty" msgid "Part" msgstr "Díl" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Kategorie" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "Sestava předků" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "Přiřazeno mě" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Vystavil" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "Přiřazeno" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "Vytvořeno před" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "Vytvořeno po" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "Má počáteční datum" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "Datum začátku před" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "Datum začátku po" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "Má cílové datum" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "Cílové datum před" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "Cílové datum po" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "Dokončeno před" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "Dokončeno po" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "Min. datum" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "Max datum" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "Vyloučit strom" -#: build/api.py:409 +#: build/api.py:411 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:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Spotřební materiál" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Volitelné" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Sestava" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Sledováno" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Testovatelné" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "Objednávka nevyřízená" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Přiděleno" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Dostupné" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Stavový kód sestavení" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Kód dávky" @@ -854,7 +854,7 @@ msgstr "Vystavil" msgid "User who issued this build order" msgstr "Uživatel, který vystavil tento výrobní příkaz" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Uživatel nebo skupina odpovědná za tento výrobní příkaz" msgid "External Link" msgstr "Externí odkaz" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Odkaz na externí URL" @@ -881,7 +881,7 @@ msgstr "Priorita sestavení" msgid "Priority of this build order" msgstr "Priorita tohoto výrobního příkazu" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Kód projektu" @@ -903,51 +903,50 @@ msgstr "Výrobní příkaz {build} byl dokončen" msgid "A build order has been completed" msgstr "Výrobní příkaz byl dokončen" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "U sledovatelných dílů musí být uvedena sériová čísla" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Nebyl specifikováno žádný výstup sestavení" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Výstup sestavení je již dokončen" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Výstup neodpovídá výrobnímu příkazu" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "Množství nemůže být větší než výstupní množství" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Výstup sestavy {serial} neprošel všemi požadavky" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "Řádková položka výrobního příkazu" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Vytvořit objekt" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Vytvořit objekt" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Množství" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Vyžadované množství pro výrobní příkaz" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množství ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Zabrané množství musí být větší než nula" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Množství musí být 1 pro zřetězený sklad" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "Vybraná skladová položka neodpovídá řádku kusovníku" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Skladové položky" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Zdrojová skladová položka" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Skladové množství pro sestavení" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Instalovat do" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Cílová skladová položka" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Je vyžadována celočíselná hodnota množství, protože kusovník obsahuje sledovatelné díly" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Sériová čísla" @@ -1070,10 +1071,10 @@ msgstr "Zadejte sériová čísla pro sestavení výstupů" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Lokace" @@ -1089,8 +1090,8 @@ 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:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "Následující sériová čísla již existují nebo jsou neplatná" @@ -1222,7 +1223,7 @@ msgstr "Řádková položka sestavy" 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:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "Položka musí být skladem" @@ -1299,13 +1300,13 @@ msgstr "Název dílu kusovníku" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "Díl dodavatele" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "Přidělené množství" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "Název kategorie dílů" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Sledovatelné" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "Povolit varianty" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "Položka kusovníku" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "Přidělené zásoby" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "Na objednávku" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "Ve výrobě" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "Externí zásoby" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Dostupné zásoby" @@ -1391,32 +1392,32 @@ msgstr "Zrušeno" msgid "Complete" msgstr "Hotovo" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "Zásoby potřebné pro výrobní příkaz" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "Opožděný výrobní příkaz" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Objednávka sestavy {bo} je nyní opožděná" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "Je odkaz" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "Je soubor" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "Uživatel nemá oprávnění k odstranění těchto příloh" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "Uživatel nemá oprávnění k odstranění této přílohy" @@ -1436,61 +1437,61 @@ msgstr "Nejsou uvedeny žádné platné kódy měn" msgid "No plugin" msgstr "Žádný plugin" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Aktualizováno" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Časové razítko poslední aktualizace" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Jedinečný kód projektu" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Popis projektu" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "Uživatel nebo skupina odpovědná za tento projekt" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "Tlačítko nastavení" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Hodnota nastavení" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "Zvolená hodnota není platnou možností" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "Hodnota musí být logická hodnota" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "Hodnota musí být celé číslo" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "Hodnota musí být platné číslo" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "Hodnota neprošla kontrolou platnosti" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "Klíčový text musí být jedinečný" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "Klíčový text musí být jedinečný" msgid "User" msgstr "Uživatel" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "Množství cenové slevy" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Cena" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "Jednotková cena při stanoveném množství" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Koncový bod" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "Koncový bod, ve kterém je tento webhook přijímán" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "Název tohoto webhooku" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktivní" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "Je tento webhook aktivní" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "Token pro přístup" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Tajný klíč" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "Sdílený tajný klíč pro HMAC" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "ID zprávy" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "Unikátní identifikátor pro tuto zprávu" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "Hostitel" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "Hostitel, od kterého byla tato zpráva přijata" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Záhlaví" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "Záhlaví této zprávy" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Tělo" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "Tělo zprávy" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "Koncový bod, na kterém byla zpráva přijata" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "Pracoval na" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "Byla práce na této zprávě dokončena?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "ID" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Název" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Odkaz" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Zveřejněno" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Autor" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Souhrn" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Přečteno" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "Byla tato novinka přečtena?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Obrazek" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Soubor obrázku" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "Cílový typ modelu pro tento obrázek" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "Cílové ID modelu pro tento obrázek" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "Vlastní jednotka" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "Symbol jednotky musí být unikátní" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "Název jednotky musí být platný identifikátor" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "Název jednotky" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Symbol" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "Volitelný symbol jednotky" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Definice" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Definice jednotky" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Příloha" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Chybějící soubor" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Chybějící externí odkaz" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Vyberte soubor k přiložení" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Komentář" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "Komentář přílohy" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "Datum nahrání" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "Datum, kdy byl soubor nahrán" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "Velikost souboru" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "Velikost souboru v bytech" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "Uveden neplatný typ modelu pro přílohu" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "Vlastní stav" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "Vlastní stavy" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "Nastavení referenčního stavu" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Logický klíč" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Hodnota" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "Název stavu" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "Popisek" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "Štítek, který bude zobrazen na webu" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "Barva" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "Barva, která bude zobrazena ve frontendu" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "Model" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "Model, ke kterému je tento stav přiřazen" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "Musí být vybrán model" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "Musí být vybrán klíč" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "Musí být vybrán logický klíč" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "Klíč se musí lišit od logického klíče" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "Název se musí lišit od názvů referenčního statusu" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "Výběrové pole" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "Výběrová pole" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "Název výběrového pole" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "Popis výběrového pole" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "Uzamčeno" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "Je tento seznam výběrů uzamčen?" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "Může být tento seznam výběru použit?" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "Zdrojový plugin" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "Plugin, který poskytuje seznam výběru" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "Zdrojový řetězec" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "Volitelný řetězec identifikující zdroj použitý pro tento seznam" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "Výchozí položka" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "Výchozí položka pro tento seznam výběru" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Vytvořeno" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "Datum a čas vytvoření výběrového seznamu" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Poslední aktualizace" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "Datum a čas poslední aktualizace výběrového seznamu" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "Položka seznamu výběrů" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "Položky seznamu výběrů" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "Seznam výběru, do kterého tato položka patří" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Data" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "Data čárového kódu" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "Uživatel, který naskenoval čárový kód" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "Datum a čas skenování čárového kódu" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Kontext" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Výsledek" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "Bylo skenování čárového kódu úspěšné?" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Klíč" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Naplánované úlohy" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Neúspěšné úlohy" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "ID úlohy" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "Unikátní ID úlohy" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Čas uzamčení" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Jméno úkolu" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Funkce" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Název funkce" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Argumenty" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Argumenty úlohy" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "Argumenty klíčových slov" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "Argumenty klíčových slov úlohy" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Název souboru" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "Typ modelu" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "Uživatel nemá oprávnění k vytváření nebo úpravám příloh pro tento model" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "Žádná skupina" msgid "Site URL is locked by configuration" msgstr "Adresa URL webu je uzamčena konfigurací" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Je vyžadován restart" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "Bylo změněno nastavení, které vyžaduje restart serveru" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Nevyřízené migrace" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "Počet nevyřízených migrací databáze" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Název instance serveru" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "Textový popisovač pro instanci serveru" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Použít název instance" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "Použít název instance v liště" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "Omezit zobrazování `o aplikaci`" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "Zobrazovat okno `o aplikaci` pouze superuživatelům" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Jméno společnosti" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Interní název společnosti" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "Základní URL" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "Základní URL pro instanci serveru" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Výchozí měna" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "Vyberte základní měnu pro cenové kalkulace" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "Podporované měny" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "Seznam podporovaných kódů měn" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "Interval aktualizace měny" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Jak často aktualizovat směnné kurzy (pro vypnutí nastavte na nulu)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "dny" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "Plugin aktualizace měny" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "Plugin pro aktualizaci měn k použití" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Stáhnout z URL" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Povolit stahování vzdálených obrázků a souborů z externích URL" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "Limit velikosti stahování" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "Maximální povolená velikost stahování vzdáleného obrázku" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "User-agent použitý ke stažení z adresy URL" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Povolit přepsání user-agenta používaného ke stahování obrázků a souborů z externí adresy URL (ponechte prázdné pro výchozí)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "Přísná validace URL" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "Vyžadovat specifikaci schématu při ověřování adres URL" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Interval kontroly aktualizací" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "Jak často kontrolovat aktualizace (nastavte na nulu pro vypnutí)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Automatické Zálohování" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Povolit automatické zálohování databáze a mediálních souborů" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Interval automatického zálohování" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Zadejte počet dní mezi automatickými zálohovými událostmi" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "Interval mazání úloh" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "Výsledky úloh na pozadí budou odstraněny po zadaném počtu dní" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "Interval odstranění protokolu chyb" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "Záznamy chyb budou odstraněny po zadaném počtu dní" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "Interval pro odstranění oznámení" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Uživatelská oznámení budou smazána po zadaném počtu dní" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Podpora čárových kódů" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "Povolit podporu pro skenování čárových kódů ve webovém rozhraní" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "Ukládat výsledky čárových kódů" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "Ukládat výsledky skenování čárových kódů v databázi" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "Maximální počet naskenovaných čárových kódů" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "Maximální počet uložených výsledků skenování čárových kódů" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "Zpoždění vstupu čárového kódu" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "Doba zpoždění zpracování vstupu čárového kódu" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "Podpora webové kamery pro čárové kódy" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "Povolit skenování čárových kódů přes webovou kameru v prohlížeči" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "Zobrazovat data čárových kódů" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "Zobrazovat data čárových kódů v prohlížeči jako text" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "Plugin pro generování čárových kódů" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "Revize dílu" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "Povolit pole revize pro díl" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "Revize pouze pro sestavy" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "Povolit revize pouze pro sestavy" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "Povolit odstranění ze sestavy" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "Povolit odstranění dílů, které jsou použity v sestavě" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "IPN Regex" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulární vzorec výrazu pro odpovídající IPN dílu" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Povolit duplicitní IPN" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "Povolit více dílům sdílet stejný IPN" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "Povolit editaci IPN" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "Povolit změnu IPN při úpravách dílu" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Kopírovat data BOM dílu" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopírovat data BOM ve výchozím nastavení při duplikování dílu" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "Kopírovat data parametrů dílu" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "Kopírovat data parametrů ve výchozím nastavení při duplikování dílu" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "Kopírovat zkušební data dílu" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "Kopírovat testovací data ve výchozím nastavení při duplikování dílu" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "Kopírovat šablony parametrů kategorie" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "Kopírování šablon parametrů kategorie při vytváření dílu" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Šablona" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "Díly jsou ve výchozím nastavení šablony" -#: common/setting/system.py:430 +#: common/setting/system.py:443 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:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Komponent" -#: common/setting/system.py:436 +#: common/setting/system.py:449 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:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Možné zakoupit" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "Díly jsou zakoupitelné ve výchozím nastavení" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Prodejné" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "Díly jsou prodejné ve výchozím nastavení" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "Díly jsou sledovatelné ve výchozím nastavení" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Nehmotné (virtuální)" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Díly jsou nehmotné (virtuální) ve výchozím nastavení" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Zobrazit související díly" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Zobrazit související díly pro díl" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "Počáteční údaje zásob" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "Povolit vytvoření počátečního skladu při přidání nové části" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "Počáteční údaje dodavatele" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Povolit vytvoření počátečních dat dodavatele při přidávání nového dílu" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Formát zobrazení jména dílu" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Formát pro zobrazení názvu dílu" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "Výchozí ikona kategorie dílu" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "Výchozí ikona kategorie dílu (prázdné znamená bez ikony)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "Vynutit jednotky parametru" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "Pokud jsou uvedeny jednotky, musí hodnoty parametrů odpovídat zadaným jednotkám" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "Minimální počet desetinných míst u cen" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimální počet desetinných míst k zobrazení u cenových údajů" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "Maximální počet desetinných míst u cen" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximální počet desetinných míst k zobrazení u cenových údajů" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Použít ceny dodavatele" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Zahrnout cenová zvýhodnění dodavatelů do celkových cenových kalkulací" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Přepsání historie nákupu" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historické ceny nákupních objednávek mají přednost před cenovými zvýhodněními dodavatele" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "Použít ceny skladových položek" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Použít ceny z ručně zadaných skladových údajů pro cenové kalkulace" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "Stáří cen skladových položek" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Vyloučit skladové položky starší než tento počet dní z cenových kalkulací" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "Použít cenu varianty" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "Zahrnutí cen variant do celkových cenových kalkulací" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "Pouze aktivní varianty" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "Pro výpočet ceny varianty použijte pouze aktivní díly varianty" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "Interval přestavby cen" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "Počet dní před automatickou aktualizací cen dílů" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Interní ceny" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "Povolit interní ceny pro díly" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Přepis interní ceny" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "Pokud jsou k dispozici, interní ceny mají přednost před výpočty cenového rozpětí" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Povolit tisk štítků" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Povolit tisk štítků z webového rozhraní" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "DPI rozlišení štítků" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Rozlišení DPI při generování obrazových souborů, které se dodávají do zásuvných modulů pro tisk štítků" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Povolit reporty" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Povolit generování reportů" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Režim ladění chyb" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "Generovat reporty v režimu ladění (HTML výstup)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "Zaznamenávat chyby reportů" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "Zaznamenávat chyby, které se vyskytnou při vytváření reportů" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Velikost stránky" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Výchozí velikost stránky pro PDF reporty" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "Globálně unikátní sériová čísla" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "Sériová čísla pro skladové položky musí být globálně unikátní" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "Odstranit vyčerpané zásoby" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "Určuje výchozí chování při vyčerpání zásoby položky" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "Šablona kódu dávky" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "Šablona pro generování výchozích kódů dávky pro skladové položky" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "Expirace zásob" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "Povolit funkci expirace zásob" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "Prodat prošlé zásoby" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "Povolit prodej prošlých zásob" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "Čas stáří zásob" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "Počet dnů, po které jsou skladové položky považovány za nevyužité před uplynutím doby expirace" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "Sestavit prošlé zásoby" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "Povolit sestavování s prošlými zásobami" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "Kontrola vlastnictví zásob" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "Umožnit kontrolu vlastnictví nad skladovými místy a položkami" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "Výchozí ikona umístění zásob" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "Výchozí ikona umístění zásob (prázdné znamená bez ikony)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "Zobrazit nainstalované skladové položky" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "Zobrazit nainstalované skladové položky ve skladových tabulkách" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "Zkontrolovat BOM při instalaci položek" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Nainstalované skladové položky musí existovat v BOM pro nadřazený díl" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "Povolit převod mimo sklad" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Umožnit přesun skladových položek, které nejsou na skladě, mezi skladovými místy" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "Referenční vzor objednávky sestavy" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Požadovaný vzor pro generování referenčního pole Objednávka sestavy" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "Vyžadovat odpovědného vlastníka" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "Ke každé objednávce musí být přiřazen odpovědný vlastník" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "Vyžadovat aktivní díl" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "Zabránit vytváření výrobních příkazů pro neaktivní díly" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "Vyžadovat schválený kusovník" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "Zabránit vytváření výrobních příkazů, dokud není schválen kusovník" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "Blokovat, dokud testy neprojdou" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Zabránit dokončení výstupů sestavy, dokud neprojdou všechny požadované testy" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "Povolit vracení objednávek" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "Povolit funkci vrácení objednávky v uživatelském rozhraní" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "Referenční vzor návratové objednávky" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "Požadovaný vzor pro vygenerování referenčního pole Návratová objednávka" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "Úprava dokončených návratových objednávek" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "Umožnit úpravu návratových objednávek po jejich dokončení" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "Referenční vzor prodejní objednávky" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "Požadovaný vzor pro generování referenčního pole prodejní objednávky" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "Výchozí přeprava prodejní objednávky" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "Povolit vytvoření výchozí přepravy s prodejními objednávkami" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "Úprava dokončených prodejních objednávek" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Umožnit úpravy prodejních objednávek po jejich odeslání nebo dokončení" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "Označit odeslané objednávky jako dokončené" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Prodejní objednávky označené jako odeslané se automaticky dokončí a obejdou stav „odesláno“" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "Referenční vzor nákupní objednávky" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "Požadovaný vzor pro generování referenčního pole nákupní objednávky" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "Úprava dokončených nákupních objednávek" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Umožnit úpravy nákupních objednávek po jejich odeslání nebo dokončení" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "Automatické dokončování nákupních objednávek" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automaticky označit nákupní objednávky jako kompletní, jakmile jsou přijaty všechny řádkové položky" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Povolit pole zapomenutého hesla" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Povolení funkce zapomenutého hesla na přihlašovacích stránkách" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Povolit registrace" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Povolit samoregistraci uživatelů na přihlašovacích stránkách" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "Povolit SSO" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "Povolit SSO na přihlašovacích stránkách" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "Povolit SSO registraci" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Povolit samoregistraci uživatelů prostřednictvím SSO na přihlašovacích stránkách" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "Vyžadován e-mail" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "Požadovat, aby uživatel při registraci zadal e-mail" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "Automaticky vyplnit SSO uživatele" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automaticky vyplnit údaje o uživateli z údajů o účtu SSO" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "Mail dvakrát" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "Při registraci dvakrát požádat uživatele o zadání e-mailu" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Heslo dvakrát" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "Při registraci dvakrát požádat uživatele o heslo" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Povolené domény" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Omezit registraci na určité domény (oddělené čárkou a začínající @)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Skupina při registraci" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "Vynutit MFA" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "Uživatelé musí používat vícefaktorové zabezpečení." -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "Zkontrolovat pluginy při spuštění" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Zkontrolujte, zda jsou při spuštění nainstalovány všechny pluginy - povolit v kontejnerových prostředích" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "Zkontrolovat aktualizace pluginů" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "Povolit pravidelné kontroly aktualizací nainstalovaných pluginů" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "Povolit integraci URL" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "Povolit plug-inům přidávat trasy URL" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "Povolit integraci navigace" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "Povolit integrování pluginů do navigace" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "Povolit integraci aplikací" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "Povolit pluginům přidávát aplikace" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "Povolit integraci plánu" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "Povolit pluginům spouštění naplánovaných úloh" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "Povolit integraci událostí" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "Povolit pluginům reagovat na interní události" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "Funkce inventury" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Povolit funkci inventury pro evidenci stavu zásob a výpočet hodnoty zásob" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "Vyloučit externí umístění" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Vyloučit skladové položky na externích místech z výpočtů inventury" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "Perioda automatické inventury" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Počet dní mezi automatickým záznamem inventury (pro vypnutí nastavte nulu)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "Interval mazání reportů" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Reporty o inventuře se po určitém počtu dní vymažou" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "Zobrazit celá jména uživatelů" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "Zobrazit plná jména uživatelů namísto uživatelských jmen" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "Povolit data zkušební stanice" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "Povolit sběr dat ze zkušební stanice pro výsledky testů" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "Preferovaný formát pro zobrazení datumů" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Plánování dílů" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "Zobrazit informace o plánování dílů" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "Inventura dílu" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zobrazit informace o skladových zásobách dílů (pokud je povolena funkce inventury)" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "Přijímat zprávy o chybách" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "Dostávat oznámení o systémových chybách" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "Poslední použité tiskárny" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "Uložte poslední použité tiskárny pro uživatele" @@ -3499,13 +3624,13 @@ msgstr "Interní díl je aktivní" msgid "Supplier is Active" msgstr "Dodavatel je aktivní" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Výrobce" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Společnost" @@ -3513,331 +3638,331 @@ msgstr "Společnost" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Společnosti" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Popis společnosti" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "Popis společnosti" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Webová stránka" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "Webové stránky společnosti" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Telefonní číslo" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Kontaktní telefonní číslo" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Kontaktní e-mailová adresa" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Kontakt" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "Kontaktní místo" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "Odkaz na externí informace o společnosti" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "Je tato společnost aktivní?" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "Je zákazník" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "Prodáváte zboží této společnosti?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "Je dodavatel" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "Zakupujete zboží od této společnosti?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "Je výrobce" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "Vyrábí tato společnost díly?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "Výchozí měna používaná pro tuto společnost" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Adresa" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Adresy" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Vyberte společnost" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "Název adresy" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "Název popisující záznam adresy" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Primární adresa" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Nastavit jako primární adresu" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "Řádek 1" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "1. řádek adresy" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "Řádek 2" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "2. řádek adresy" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "PSČ" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Město/Region" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "PSČ město/region" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "Stát/kraj" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "Stát nebo provincie" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "Země" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "Adresovaná země" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "Doručovací poznámky pro kurýra" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "Poznámky pro kurýra" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "Interní přepravní poznámky" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "Doručovací poznámky pro interní použití" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "Odkaz na informace o adrese (externí)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Výrobce dílu" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Základní díl" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Zvolte díl" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Vyberte výrobce" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "MPN" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Číslo dílu výrobce" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "URL pro odkaz na díl externího výrobce" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "Popis dílu výrobce" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Název parametru" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Hodnota parametru" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Jednotky" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Jednotky parametru" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "Jednotky balení musí být kompatibilní s jednotkami základních dílů" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "Jednotky balení musí být větší než nula" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "Odkazovaný díl výrobce musí odkazovat na stejný základní díl" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Dodavatel" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Vyberte dodavatele" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "Skladová evidence dodavatele" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "Je tento díl dodavatele aktivní?" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Vyberte díl výrobce" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "Adresa URL pro odkaz na externí díl dodavatele" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "Popis dílu dodavatele" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Poznámka" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "základní cena" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimální poplatek (např. poplatek za skladování)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Balení" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "Balení dílu" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "Počet kusů v balení" -#: company/models.py:858 +#: company/models.py:891 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:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "více" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "Objednat více" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "Množství dostupné od dodavatele" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "Dostupnost aktualizována" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "Datum poslední aktualizace údajů o dostupnosti" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "Výchozí měna používaná pro tohoto dodavatele" msgid "Company Name" msgstr "Jméno společnosti" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "Skladem" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Klíč" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "Chyby" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Stav" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "Množství musí být kladné" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "Doručeno" msgid "Number of items received" msgstr "Počet přijatých položek" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "Nákupní cena" @@ -4850,11 +4971,11 @@ msgstr "Sloučit položky" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Sloučit položky se stejným dílem, místem určení a cílovým datem do jedné řádkové položky" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "Číslo zboží (SKU)" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "Interní číslo dílu" @@ -5046,130 +5167,114 @@ msgstr "Vrácení peněz" msgid "Reject" msgstr "Odmítnout" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "Opožděná prodejní objednávka" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Prodejní objednávka {so} je nyní opožděná" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "Schválit celý kusovník" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "Je revizí" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "Má revize" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "Kusovník schválen" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "Ikona (volitelná)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Díly" @@ -5335,7 +5440,7 @@ msgstr "Klíčová slova dílu pro zlepšení vyhledávání" msgid "Part category" msgstr "Kategorie dílu" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "Číslo revize nebo verze dílu" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Revize" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Datum" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "Výsledky" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "Nákupní měna této skladové položky" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "Původní díl" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "Vyberte původní díl, který má být duplikován" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "Kopírovat kusovník" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Název kategorie" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Skladové položky" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Dodavatelé" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "Vyloučit skladové položky v externích umístěních" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "Aktualizovat díly" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Kontrola procesů na pozadí se nezdařila" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "Aktualizovat cenu pro díl" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "Vybrat nadřazenou sestavu" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "Štítek je příliš velký pro velikost stránky" msgid "No labels were generated" msgstr "Nebyly vygenerovány žádné štítky" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "Integrace dodavatele - DigiKey" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "Integrace dodavatele - LCSC" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "Integrace dodavatele - Mouser" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "Integrace dodavatele - TME" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "Plugin" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Plugin '{p}' není kompatibilní s aktuální verzí InvenTree {v}" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Plugin vyžaduje alespoň verzi {v}" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Plugin vyžaduje nanejvýš verzi {v}" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "Aktivovat plugin" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "Aktivovat tento plugin" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "Odstranit konfiguraci pluginu z databáze" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "Položky" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "Plugin nebyl nalezen" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "Plugin není aktivní" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "Plugin nepodporuje tisk štítků" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "Neplatné rozměry štítku" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "Letter" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Filtry" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Šířka [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "Šířka štítku zadaná v mm" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Výška [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "Výška štítku uvedená v mm" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "Celkem" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "Šarže" msgid "Stock location items" msgstr "Položky skladového umístění" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Report o testu skladové položky" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "Instalované položky" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Výsledky testu" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "Instalované položky" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "Nadřazená místo" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "Externí umístění" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "Strom dílů" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "Množství je povinné" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "Vyberte odpovídající díl dodavatele pro tuto skladovou položku" msgid "Where is this stock item located?" msgstr "Kde se tato skladová položka nachází?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "Balení, ve kterém je tato skladová položka uložena" @@ -7913,7 +8024,7 @@ msgstr "Je tato položka nainstalována v jiné položce?" msgid "Serial number for this item" msgstr "Sériové číslo pro tuto položku" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "Kód šarže pro tuto skladovou položku" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "Skladová položka byla přidělena prodejní objednávce" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "Skladová položka je nainstalována v jiné položce" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "Skladová položka obsahuje jiné položky" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "Skladová položka byla přidělena zákazníkovi" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "Skladová položka je ve výrobě" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "Duplicitní skladové položky" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "Skladové položky musí odkazovat na stejný díl" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "Skladové položky musí odkazovat na stejný díl dodavatele" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 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:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "Sledování skladových položek" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "Výsledek testu skladové položky" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Výsledek testu" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "Nadřazená skladová položka" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "Číslo dílu dodavatele" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "Podřízené položky" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "Nákupní cena této skladové položky za jednotku nebo balení" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "Zadejte sériová čísla pro nové položky" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "Cílové skladové umístění" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "Volitelné pole pro poznámku" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "K tomuto dílu nelze přiřadit sériová čísla" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "Sériová čísla již existují" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "Vyberte skladovou položku k instalaci" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "Zadejte množství položek k instalaci" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "Skladová položka je nedostupná" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "Vybraný díl není v kusovníku" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "Cílové umístění pro odinstalovanou položku" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "Vybraný díl není platnou volbou pro převod" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "Stavový kód skladové položky" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "Cílové umístění pro vrácené položky" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "Vybrat skladové položky pro změnu stavu" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "Nejsou vybrány žádné skladové položky" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Podumístění" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "Nadřazené skladové umístění" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "Položka je přidělena prodejní objednávce" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "Položka je přidělena výrobnímu příkazu" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "Zákazník, kterému mají být přiděleny skladové položky" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "Musí být poskytnut seznam skladových položek" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "Povolit sloučení skladových položek s různými díly dodavatele" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "Povolit sloučení skladových položek s různými stavovými kódy" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "Musí být poskytnuty alespoň dvě skladové položky" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "Beze změny" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "Hodnota primárního klíče skladové položky" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "Skladová položka není skladem" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index 458e535300..3238a90855 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API endpoint ikke fundet" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Bruger har ikke tilladelse til at se denne model" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Bemærkninger" @@ -356,7 +356,7 @@ msgstr "Kinesisk (traditionelt)" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "E-mail" @@ -408,19 +408,19 @@ msgstr "" msgid "Invalid choice" msgstr "Ugyldigt valg" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Beskrivelse" msgid "Description (optional)" msgstr "Beskrivelse (valgfri)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Sti" @@ -479,11 +479,11 @@ msgstr "En fejl blev logget af serveren." msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Vælg valuta fra tilgængelige muligheder" @@ -527,29 +527,29 @@ msgstr "Overskuddet må ikke overstige 100%" msgid "Invalid value for overage" msgstr "Ugyldig værdi for overskud" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Overordnet produktion" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Forbrugsvare" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Valgfri" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Sporet" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Allokeret" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Tilgængelig" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Produktions statuskode" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Batch Kode" @@ -854,7 +854,7 @@ msgstr "Udstedt af" msgid "User who issued this build order" msgstr "Bruger som udstedte denne byggeordre" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Bruger eller gruppe ansvarlig for denne byggeordre" msgid "External Link" msgstr "Ekstern link" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link til ekstern URL" @@ -881,7 +881,7 @@ msgstr "Bygge Prioritet" msgid "Priority of this build order" msgstr "Prioritet af denne byggeordre" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "Bygningsordre {build} er fuldført" msgid "A build order has been completed" msgstr "En byggeordre er fuldført" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "Annulleret" msgid "Complete" msgstr "Fuldført" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "Bruger" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Vedhæftning" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Manglende fil" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Manglende eksternt link" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Vælg fil, der skal vedhæftes" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Kommentar" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Filnavn" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3513,331 +3638,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "Refusion" msgid "Reject" msgstr "Afvis" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Kontrol af baggrundstjeneste mislykkedes" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index 5703c882ac..fcec63d2ca 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "Sie müssen die Zwei-Faktor-Authentifizierung aktivieren, bevor Sie etwas tun können." -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API-Endpunkt nicht gefunden" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "Ungültige Artikelliste angegeben" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "Ungültige Filter angegeben" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "Alle Filter dürfen nur mit true verwendet werden" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Benutzer hat keine Berechtigung, dieses Modell anzuzeigen" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "Ungültiger Dezimalwert" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Notizen" @@ -356,7 +356,7 @@ msgstr "Chinesisch (Traditionell)" msgid "Log in to the app" msgstr "Bei der App anmelden" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "Email" @@ -408,19 +408,19 @@ msgstr "Doppelte Namen können nicht unter dem selben Elternteil existieren" msgid "Invalid choice" msgstr "Ungültige Auswahl" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Name" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Beschreibung" msgid "Description (optional)" msgstr "Beschreibung (optional)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Pfad" @@ -479,11 +479,11 @@ msgstr "Ein Fehler wurde vom Server protokolliert." msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Währung" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Währung aus verfügbaren Optionen auswählen" @@ -527,29 +527,29 @@ msgstr "Überschuss darf 100% nicht überschreiten" msgid "Invalid value for overage" msgstr "Ungültiger Wert für Ausschuss" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Bestellstatus" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Eltern-Bauauftrag" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "Varianten einschließen" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "Varianten einschließen" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "Varianten einschließen" msgid "Part" msgstr "Teil" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Kategorie" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "Vorgänger-Build" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "Mir zugewiesen" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Aufgegeben von" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "Zugewiesen zu" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "Erstellt vor" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "Erstellt nach" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "Hat Startdatum" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "Gültigkeitsdauer vor" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "Gültigkeitsdauer nach" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "geplantes Bestelldatum" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "Zieldatum vor" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "Zieldatum nach" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "Abgeschlossen vor" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "Abgeschlossen nach" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "Baum ausschließen" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Optional" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Baugruppe" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Nachverfolgt" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Prüfbar" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "Offene Bestellung" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Zugeordnet" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Verfügbar" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Bau-Statuscode" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Losnummer" @@ -854,7 +854,7 @@ msgstr "Aufgegeben von" msgid "User who issued this build order" msgstr "Nutzer der diesen Bauauftrag erstellt hat" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Benutzer oder Gruppe verantwortlich für diesen Bauauftrag" msgid "External Link" msgstr "Externer Link" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link zu einer externen URL" @@ -881,7 +881,7 @@ msgstr "Bauauftrags-Priorität" msgid "Priority of this build order" msgstr "Priorität dieses Bauauftrags" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Projektcode" @@ -903,51 +903,50 @@ msgstr "Bauauftrag {build} wurde fertiggestellt" msgid "A build order has been completed" msgstr "Ein Bauauftrag wurde fertiggestellt" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "Seriennummern müssen für nachverfolgbare Teile angegeben werden" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "kein Endprodukt angegeben" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Endprodukt bereits hergstellt" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "Menge kann nicht größer als die Ausgangsmenge sein" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Build Ausgabe {serial} hat nicht alle erforderlichen Tests bestanden" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "Bauauftragsposition" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Objekt bauen" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Objekt bauen" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Anzahl" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Erforderliche Menge für Auftrag" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Anzahl muss 1 für Objekte mit Seriennummer sein" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "Ausgewählter Lagerbestand stimmt nicht mit BOM-Linie überein" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Lagerartikel" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Quell-Lagerartikel" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Anzahl an Lagerartikel dem Bauauftrag zuweisen" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Installiere in" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Ziel-Lagerartikel" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Ganzzahl erforderlich da die Stückliste nachverfolgbare Teile enthält" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Seriennummer" @@ -1070,10 +1071,10 @@ msgstr "Seriennummer für dieses Endprodukt eingeben" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Lagerort" @@ -1089,8 +1090,8 @@ 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:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" @@ -1222,7 +1223,7 @@ msgstr "Bauauftragspositionsartikel" 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:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "Zusammenbau" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "Zuliefererteil" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "Zugewiesene Menge" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Nachverfolgbar" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "Varianten zulassen" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "Stücklisten-Position" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "Zugewiesener Bestand" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "Bestellt" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "In Produktion" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "Externes Lager" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Verfügbarer Bestand" @@ -1391,32 +1392,32 @@ msgstr "Storniert" msgid "Complete" msgstr "Fertig" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "Bestand für Bauauftrag erforderlich" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "Überfälliger Bauauftrag" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Bauauftrag {bo} ist jetzt überfällig" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "Link" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "Datei" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "Benutzer hat keine Berechtigung zum Löschen des Anhangs" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "Kein Plugin" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Aktualisiert" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Zeitstempel der letzten Aktualisierung" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Eindeutiger Projektcode" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Projektbeschreibung" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "Benutzer oder Gruppe verantwortlich für dieses Projekt" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Einstellungs-Wert" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "Wert ist keine gültige Option" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "Wahrheitswert erforderlich" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "Nur Ganzzahl eingeben" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "Schlüsseltext muss eindeutig sein" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "Schlüsseltext muss eindeutig sein" msgid "User" msgstr "Benutzer" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Preis" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "Stückpreis für die angegebene Anzahl" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Endpunkt" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "Endpunkt, an dem dieser Webhook empfangen wird" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "Name für diesen Webhook" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktiv" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "Ist dieser Webhook aktiv" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "Token für Zugang" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Geheimnis" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "Shared Secret für HMAC" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "Nachrichten-ID" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "Eindeutige Kennung für diese Nachricht" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "Host" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "Host von dem diese Nachricht empfangen wurde" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Kopfzeile" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "Header dieser Nachricht" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Body" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "Body dieser Nachricht" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "Endpunkt, über den diese Nachricht empfangen wurde" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "Bearbeitet" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "Wurde die Arbeit an dieser Nachricht abgeschlossen?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "ID" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Titel" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Veröffentlicht" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Autor" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Zusammenfassung" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Gelesen" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "Wurde diese Nachricht gelesen?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Bild" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Bilddatei" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "Benutzerdefinierte Einheit" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "Einheitensymbol muss eindeutig sein" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "Einheitsname muss eine gültige Kennung sein" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "Einheitsname" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Symbol" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "Optionales Einheitssymbol" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Definition" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Einheitsdefinition" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Anhang" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Fehlende Datei" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Fehlender externer Link" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Datei zum Anhängen auswählen" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Kommentar" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "Upload Datum" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "Datum der hochgeladenen Datei" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "Dateigröße" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "Dateigröße in Bytes" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "Ungültiger Modelltyp für Anhang angegeben" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Wert" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "Name des Bundeslandes" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "Bezeichnung" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "Bezeichnung, die im Frontend angezeigt wird" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "Farbe" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "Farbe, die im Frontend angezeigt wird" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "Name muss sich von den Namen des Referenzstatus unterscheiden" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "Auswahlliste" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "Auswahllisten" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "Name der Auswahlliste" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "Beschreibung der Auswahlliste" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "Gesperrt" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "Ist diese Auswahlliste gesperrt?" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "Kann diese Auswahlliste benutzt werden?" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Erstellt" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Zuletzt aktualisiert" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Wert" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "Zeitstempel" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Kontext" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Ergebnis" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Schlüssel" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "Wird ausgeführt" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "Anstehende Aufgaben" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Geplante Aufgaben" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Fehlgeschlagene Aufgaben" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "Aufgabe-ID" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "Eindeutige Aufgaben-ID" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "Sperren" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Sperrzeit" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Aufgabenname" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Funktion" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Funktionsname" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Parameter" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Aufgaben-Parameter" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "Schlüsselwort Parameter" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "Schlüsselwort Parameter für Aufgaben" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Dateiname" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "Modelltyp" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "Benutzer hat keine Berechtigung, Anhänge für dieses Modell zu erstellen oder zu bearbeiten" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "Keine Gruppe" msgid "Site URL is locked by configuration" msgstr "Seiten-URL ist durch die Konfiguration gesperrt" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Neustart erforderlich" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "Eine Einstellung wurde geändert, die einen Neustart des Servers erfordert" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Ausstehende Migrationen" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "Anzahl der ausstehenden Datenbankmigrationen" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Name der Serverinstanz" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "Kurze Beschreibung der Instanz" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Name der Instanz verwenden" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "Den Namen der Instanz in der Titelleiste verwenden" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "Anzeige von `Über` einschränken" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "Zeige das `Über` Fenster nur Administratoren" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Firmenname" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "interner Firmenname" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "Basis-URL" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "Basis-URL für dieses Instanz" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Standardwährung" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "Wählen Sie die Basiswährung für Preisberechnungen aus" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "Verfügbare Währungen" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "Liste der unterstützten Währungskürzel" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "Währungsaktualisierungsintervall" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Wie oft Wechselkurse aktualisiert werden sollen (auf Null zum Deaktivieren setzen)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "Tage" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "Währungs-Aktualisierungs-Plugin" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "Zu verwendendes Währungs-Aktualisierungs-Plugin" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Von URL herunterladen" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Herunterladen von externen Bildern und Dateien von URLs erlaubt" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "Download-Größenlimit" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "Maximal zulässige Größe für heruntergeladene Bilder" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "Benutzer-Agent zum Herunterladen von Daten" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Überschreiben des Benutzer-Agenten, der verwendet wird, um Bilder und Dateien von externer Servern herunterzuladen (leer für die Standardeinstellung)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "Strenge URL-Prüfung" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "Erfordert die Schema-Spezifikation bei der Validierung von URLs" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Prüfungsintervall aktualisieren" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "Wie oft soll nach Updates gesucht werden? (auf 0 setzen zum Deaktivieren)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Automatische Sicherung" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Automatische Sicherung der Datenbank- und Mediendateien aktivieren" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Intervall für automatische Sicherung" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Anzahl der Tage zwischen automatischen Sicherungen" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "Aufgabenlöschinterval" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "Ergebnisse der Hintergrundaufgabe werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "Löschintervall für Fehlerprotokolle" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "Fehlerprotokolle werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "Löschintervall für Benachrichtigungen" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Benutzerbenachrichtigungen werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Bacode-Feature verwenden" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "Barcode-Scanner Unterstützung im Webinterface aktivieren" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "Barcode-Eingabeverzögerung" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "Verzögerungszeit bei Barcode-Eingabe" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "Barcode Webcam-Unterstützung" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode-Scannen über Webcam im Browser erlauben" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "Artikelrevisionen" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "Revisions-Feld für Artikel aktivieren" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "Löschen aus Baugruppe erlauben" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "Erlaube das Löschen von Teilen, die in einer Baugruppe verwendet werden" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "IPN Regex" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "RegEx Muster für die Zuordnung von Teil-IPN" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "Mehrere Artikel mit gleicher IPN erlaubt" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "Ändern von IPN erlaubt" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "Ändern der IPN während des Bearbeiten eines Teils erlaubt" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Teil-Stückliste kopieren" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "Stückliste von Teil kopieren wenn das Teil dupliziert wird " -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "Teil-Parameter kopieren" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "Parameter-Daten für dieses Teil kopieren wenn das Teil dupliziert wird" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "Teil-Testdaten kopieren" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "Test-Daten für dieses Teil kopieren wenn das Teil dupliziert wird" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "Kategorie-Parametervorlage kopieren" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "Kategorie-Parameter Vorlagen kopieren wenn ein Teil angelegt wird" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Vorlage" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "Teile sind standardmäßig Vorlagen" -#: common/setting/system.py:430 +#: common/setting/system.py:443 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:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Komponente" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "Teile können standardmäßig in Baugruppen benutzt werden" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Kaufbar" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "Artikel sind grundsätzlich kaufbar" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Verkäuflich" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "Artikel sind grundsätzlich verkaufbar" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "Artikel sind grundsätzlich verfolgbar" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Virtuell" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Teile sind grundsätzlich virtuell" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Verwandte Teile anzeigen" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Verwandte Teile eines Teils anzeigen" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "Initialer Lagerbestand" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "Erstellen von Lagerbestand beim Hinzufügen eines neuen Teils erlauben" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "Initiale Lieferantendaten" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Erstellen von Lieferantendaten beim Hinzufügen eines neuen Teils erlauben" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Anzeigeformat für Teilenamen" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Format für den Namen eines Teiles" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "Standardsymbol der Teilkategorie" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "Standardsymbol der Teilkategorie (leer bedeutet kein Symbol)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "Parameter Einheiten durchsetzen" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "Wenn Einheiten angegeben werden, müssen die Parameterwerte mit den angegebenen Einheiten übereinstimmen" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "Dezimalstellen für minimalen Preis" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Mindestanzahl der Dezimalstellen bei der Darstellung der Preisdaten" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "Dezimalstellen für maximalen Preis" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximale Anzahl der Dezimalstellen bei der Darstellung der Preisdaten" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Zulieferer-Preise verwenden" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Lieferanten-Staffelpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Kaufverlauf überschreiben" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische Bestellungspreise überschreiben die Lieferanten-Staffelpreise" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "Lagerartikel-Preis verwenden" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Preise aus manuell eingegebenen Lagerdaten für Preisberechnungen verwenden" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "Lagerartikelpreis Alter" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Lagerartikel, die älter als diese Anzahl an Tagen sind, von der Preisberechnung ausschließen" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "Variantenpreise verwenden" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenpreise in die Gesamt-Preisberechnungen einbeziehen" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "Nur aktive Varianten" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "Nur aktive Variantenteile zur Berechnung der Variantenbepreisung verwenden" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "Intervall für Neuberechnung von Preisen" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "Anzahl der Tage bis die Teile-Preisberechnungen automatisch aktualisiert werden" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Interne Preise" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "Interne Preise für Teile aktivieren" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Interne Preisüberschreibung" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "Falls verfügbar, überschreiben interne Preise Preispannenberechnungen" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Labeldruck aktivieren" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Labeldruck über die Website aktivieren" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "Label Bild DPI" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI-Auflösung bei der Erstellung von Bilddateien für Etikettendruck-Plugins" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Berichte aktivieren" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Berichterstellung aktivieren" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Entwickler-Modus" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "Berichte im Entwickler-Modus generieren (als HTML)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "Berichtsfehler protokollieren" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "Fehler, die beim Erstellen von Berichten auftreten, protokollieren" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Seitengröße" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Standardseitenformat für PDF-Bericht" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "Global einzigartige Seriennummern" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "Seriennummern für Lagerartikel müssen global eindeutig sein" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "Erschöpften Lagerartikel löschen" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "Legt das Standardverhalten fest, wenn ein Lagerartikel aufgebraucht ist" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "Losnummer Vorlage" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "Vorlage für die Generierung von Standard-Losnummern für Lagerbestände" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "Bestands-Ablauf" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "Ablaufen von Bestand ermöglichen" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "Abgelaufenen Bestand verkaufen" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "Verkauf von abgelaufenem Bestand erlaubt" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "Bestands-Stehzeit" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "Anzahl an Tagen, an denen Bestand als abgestanden markiert wird, bevor sie ablaufen" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "Abgelaufenen Bestand verbauen" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "Verbauen von abgelaufenen Bestand erlaubt" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "Bestands-Eigentümerkontrolle" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "Eigentümerkontrolle für Lagerorte und Teile aktivieren" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "Standardsymbol für Lagerort" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "Standardsymbol für Lagerstandort (leer bedeutet kein Symbol)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "Zeige installierte Lagerartikel" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "Anzeige der installierten Lagerartikel in Bestandstabellen" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "Prüfe BOM bei der Installation von Elementen" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Installierte Lagerbestandteile müssen im BOM für den übergeordneten Teil vorhanden sein" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "Erlaube Verschieben von \"nicht auf Lager\" Bestand" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Lagerartikel, die nicht auf Lager sind, können zwischen Lagerstandorten übertragen werden" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "Bauauftragsreferenz-Muster" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bauaufträge" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "Verantwortlicher Besitzer erforderlich" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "Jeder Bestellung muss ein verantwortlicher Besitzer zugewiesen werden" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "Blockieren bis Test bestanden" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Verhindert die Fertigstellung bis alle erforderlichen Tests bestanden sind" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "Rücksendungen aktivieren" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "Aktivieren der Rücksendung-Funktion in der Benutzeroberfläche" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "Referenz Muster für Rücksendungen" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Rücksendungen" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "Abgeschlossene Rücksendungen bearbeiten" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "Bearbeitung von Rücksendungen nach Abschluss erlauben" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "Auftragsreferenz-Muster" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Aufträge" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "Auftrag Standardsendung" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "Erstelle eine Standardsendung für Aufträge" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "Abgeschlossene Aufträge bearbeiten" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Bearbeitung von Aufträgen nach Versand oder Abschluss erlauben" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "Versendete Bestellungen als abgeschlossen markieren" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Als versendet markierte Aufträge werden automatisch abgeschlossen und überspringen den Status \"Versandt\"" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "Bestellungsreferenz-Muster" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "Benötigtes Muster für die Generierung des Referenzfeldes für Bestellungen" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "Abgeschlossene Einkaufsaufträge bearbeiten" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Bearbeitung von Einkaufsaufträgen nach Versand oder Abschluss erlauben" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "Bestellungen automatisch abschließen" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Bestellung automatisch als abgeschlossen markieren, wenn der Empfang aller Artikel bestätigt wurde" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Passwort vergessen aktivieren" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Passwort-vergessen-Funktion auf den Anmeldeseiten aktivieren" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Registrierung erlauben" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Selbstregistrierung für Benutzer auf den Anmeldeseiten aktivieren" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "SSO aktivieren" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "SSO auf den Anmeldeseiten aktivieren" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "SSO Selbstregistrierung aktivieren" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Selbstregistrierung über SSO für Benutzer auf den Anmeldeseiten aktivieren" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "SSO Gruppensynchronisation aktivieren" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "SSO Gruppenschlüssel" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "Email-Adresse erforderlich" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "Benutzer müssen bei der Registrierung eine E-Mail angeben" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "SSO-Benutzer automatisch ausfüllen" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "Benutzer-Details automatisch aus SSO-Konto ausfüllen" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "E-Mail zweimal" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "Bei der Registrierung den Benutzer zweimal nach der E-Mail-Adresse fragen" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Passwort zweimal" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "Bei der Registrierung den Benutzer zweimal nach dem Passwort fragen" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Erlaubte Domains" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Anmeldung auf bestimmte Domänen beschränken (kommagetrennt, beginnend mit @)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Gruppe bei Registrierung" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "MFA erzwingen" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "Benutzer müssen Multifaktor-Authentifizierung verwenden." -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "Plugins beim Start prüfen" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Beim Start überprüfen, ob alle Plugins installiert sind - Für Container aktivieren" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "Nach Plugin-Aktualisierungen suchen" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "Periodische Überprüfungen auf Updates für installierte Plugins aktivieren" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "URL-Integration aktivieren" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "Plugins zum Hinzufügen von URLs aktivieren" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "Navigations-Integration aktivieren" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "Plugins zur Integration in die Navigation aktivieren" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "App-Integration aktivieren" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "Plugins zum Hinzufügen von Apps aktivieren" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "Terminplan-Integration aktivieren" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "Geplante Aufgaben aktivieren" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "Ereignis-Integration aktivieren" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "Plugins ermöglichen auf interne Ereignisse zu reagieren" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "Inventurfunktionen" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Inventur-Funktionen zur Aufzeichnung von Lagerbeständen und zur Berechnung des Lagerwerts aktivieren" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "Externe Standorte ausschließen" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Lagerartikeln in externen Standorten in der Berechnungen zur Bestandsaufnahme ausschließen" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "Automatische Inventur-Periode" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Anzahl der Tage zwischen automatischen Bestandsaufnahmen (zum Deaktivieren auf Null setzen)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "Löschintervall für Berichte" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Inventurberichte werden nach der angegebenen Anzahl von Tagen gelöscht" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "Vollständige Namen von Benutzern anzeigen" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "Vollständigen Namen von Benutzern anstatt Benutzername anzeigen" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "Teststation-Daten aktivieren" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "Teststation-Datenerfassung für Testergebnisse aktivieren" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "Bevorzugtes Format für die Anzeige von Daten" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Teilzeitplanung" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "Zeige Zeitplanung für Teile" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "Inventur" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Zeigt Inventur-Informationen an (falls die Inventurfunktion aktiviert ist)" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "Fehlerberichte empfangen" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "Benachrichtigungen bei Systemfehlern erhalten" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "Zuletzt verwendete Druckmaschinen" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "Die zuletzt benutzten Druckmaschinen für einen Benutzer speichern" @@ -3499,13 +3624,13 @@ msgstr "Internes Teil ist aktiv" msgid "Supplier is Active" msgstr "Lieferant ist aktiv" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Hersteller" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Firma" @@ -3513,331 +3638,331 @@ msgstr "Firma" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Firmen" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Firmenbeschreibung" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "Firmenbeschreibung" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Webseite" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "Firmenwebsite Adresse/URL" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Kontakt-Tel." -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Kontakt-Telefon" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Kontakt-Email" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Kontakt" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "Anlaufstelle" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "Link auf externe Firmeninformation" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "Ist dieses Unternehmen aktiv?" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "Ist Kunde" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "Verkaufen Sie Teile an diese Firma?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "Ist Zulieferer" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "Kaufen Sie Teile von dieser Firma?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "Ist Hersteller" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "Produziert diese Firma Teile?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "Standard-Währung für diese Firma" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Adresse" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Adressen" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Firma auswählen" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "Adresstitel" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "Titel zur Beschreibung des Adresseintrages" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Primäre Adresse" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Als primäre Adresse festlegen" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "Linie 1" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "Adresszeile 1" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "Linie 2" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "Adresszeile 2" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Postleitzahl" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Stadt/Region" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "Postleitzahl Stadt/Region" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "Staat/Provinz" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "Bundesland" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "Land" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "Adresse Land" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "Versandnotizen" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "Notizen für Versandkurier" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "Interne Versandnotizen" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "Versandnotizen für interne Verwendung" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "Link zu Adressinformationen (extern)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Herstellerteil" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Basisteil" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Teil auswählen" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "MPN" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "Externe URL für das Herstellerteil" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "Teilbeschreibung des Herstellers" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "Teilenummer des Herstellers" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Parametername" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Parameterwert" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Einheiten" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Parametereinheit" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "Packeinheiten müssen mit den Basisteileinheiten kompatibel sein" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "Packeinheiten müssen größer als Null sein" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Zulieferer" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "Ist dieser Lieferantenteil aktiv?" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Herstellerteil auswählen" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "Teil-URL des Zulieferers" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "Zuliefererbeschreibung des Teils" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Notiz" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "Basiskosten" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Verpackungen" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "Teile-Verpackungen" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "Packmenge" -#: company/models.py:858 +#: company/models.py:891 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:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "Vielfache" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "Mehrere bestellen" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "Verfügbare Menge von Lieferanten" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "Verfügbarkeit aktualisiert" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "Datum des letzten Updates der Verfügbarkeitsdaten" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "Standard-Währung für diesen Zulieferer" msgid "Company Name" msgstr "Firmenname" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "Auf Lager" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Schlüssel" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "Fehler" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "Gültig" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "Bestell-Referenz" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Status" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "Anzahl muss eine positive Zahl sein" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "Empfangen" msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "Preis" @@ -4850,11 +4971,11 @@ msgstr "Elemente zusammenfügen" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Zusammenführen von Elementen mit dem gleichen Teil, Ziel- und Zieldatum zu einem Zeilenelement" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "Lieferanten-Teilenummer" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "Interne Teilenummer" @@ -5046,130 +5167,114 @@ msgstr "Rückerstattung" msgid "Reject" msgstr "Ablehnen" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "Überfällige Bestellung" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Bestellung {po} ist jetzt überfällig" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "Überfälliger Auftrag" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Auftrag {so} ist jetzt überfällig" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "Markiert" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "Nach markierten Kategorien filtern" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "Ebenen" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "Filter nach Kategorietiefe" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "Oberste Ebene" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "Mehrstufig" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "Unterkategorien in gefilterte Ergebnisse einbeziehen" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "Übergeordnetes" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "Nach übergeordneter Kategorie filtern" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "Unterkategorien in der angegebenen Kategorie ausschließen" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "Ergebnisse" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "Eingehende Bestellung" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "Ausgehender Auftrag" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "Lagerartikel produziert von Bauauftrag" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "Lagerartikel für Bauauftrag benötigt" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "Diese Option muss ausgewählt werden" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "Verwendet" @@ -5219,7 +5324,7 @@ msgstr "Symbol (optional)" 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:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Teile" @@ -5335,7 +5440,7 @@ msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN (Interne Produktnummer)" @@ -5344,7 +5449,7 @@ msgstr "IPN (Interne Produktnummer)" msgid "Part revision or version number" msgstr "Revisions- oder Versionsnummer" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Version" @@ -5376,7 +5481,7 @@ msgstr "Standard Ablaufzeit" msgid "Expiry time (in days) for stock items of this part" msgstr "Ablauf-Zeit (in Tagen) für Bestand dieses Teils" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Minimaler Bestand" @@ -5612,7 +5717,7 @@ msgstr "Anzahl einzelner Bestandseinträge zum Zeitpunkt der Inventur" msgid "Total available stock at time of stocktake" msgstr "Insgesamt verfügbarer Lagerbestand zum Zeitpunkt der Inventur" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Datum" @@ -5713,7 +5818,7 @@ msgstr "Test-Beschreibung" msgid "Enter description for this test" msgstr "Beschreibung für diesen Test eingeben" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Aktiviert" @@ -5977,359 +6082,351 @@ msgstr "Ergebnisse" msgid "Number of results recorded against this template" msgstr "Anzahl der Ergebnisse, die in dieser Vorlage aufgezeichnet wurden" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "Anzahl der Teile, die diese Vorlage verwenden" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "Parameter kopieren" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "Anmerkungen kopieren" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "Notizen aus Originalteil kopieren" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Initiale Lagermenge für dieses Teil. Wenn die Menge null ist, wird kein Lagerbestand hinzugefügt." -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Kategoriename" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "Im Bau" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Lagerartikel" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Zulieferer" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Gesamtbestand" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "Nicht zugewiesenes Lager" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "Alternatives Lager" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "Vorhandenes Bild" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "Dateiname eines vorhandenen Teilbildes" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "Bilddatei existiert nicht" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "Herstellbar" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Inventurbericht auf ein bestimmtes Teil und alle Variantenteile beschränken" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Inventurbericht auf eine bestimmte Teilekategorie und alle untergeordneten Kategorien beschränken" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Inventurbericht auf einen bestimmten Lagerort und alle untergeordneten Lagerorte beschränken" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "Externen Bestand ausschließen" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "Lagerartikel an externen Orten ausschließen" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Bericht generieren" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "Erstelle Berichtsdatei mit berechneten Inventurdaten" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "Teile aktualisieren" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "Angegebene Teile mit berechneten Inventurdaten aktualisieren" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "Inventur-Funktionalität ist nicht aktiviert" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Hintergrund-Prozess-Kontrolle fehlgeschlagen" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "Berechneten Wert für Mindestpreis überschreiben" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "Mindestpreis Währung" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Höchster Preis" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "Berechneten Wert für maximalen Preis überschreiben" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "Maximalpreis Währung" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Konnte nicht von den angegebenen Währungen in {default_currency} umrechnen" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" @@ -6651,8 +6748,8 @@ msgstr "Bietet native Unterstützung für Barcodes" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "InvenTree Mitwirkende" @@ -6979,7 +7076,7 @@ msgstr "Rand" msgid "Print a border around each label" msgstr "Einen Rahmen um jedes Label drucken" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "Querformat" @@ -7011,51 +7108,51 @@ msgstr "Label ist zu groß für Seitengröße" msgid "No labels were generated" msgstr "Es wurden keine Etiketten generiert" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "Lieferantenintegration - DigiKey" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "Unterstützt das Scannen von DigiKey-Barcodes" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "Der Lieferant, der als 'DigiKey' fungiert" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "Lieferantenintegration - LCSC" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "Unterstützt das Scannen von LCSC-Barcodes" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "Der Lieferant, der als \"LCSC\" fungiert" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "Lieferantenintegration - Mouser" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "Unterstützt das Scannen von Mouser-Barcodes" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "Der Lieferant, der als 'Mouser' fungiert" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "Lieferantenintegration - TME" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "Unterstützt das Scannen von TME-Barcodes" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "Der Lieferant, der als 'TME' fungiert" @@ -7160,21 +7257,21 @@ msgstr "Plugin" msgid "Method" msgstr "Methode" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "Kein Autor gefunden" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Plugin '{p}' ist nicht kompatibel mit der aktuellen InvenTree Version {v}" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Plugin benötigt mindestens Version {v}" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Plugin benötigt maximal Version {v}" @@ -7203,11 +7300,11 @@ msgstr "Numerisch" msgid "A numerical setting" msgstr "Eine numerische Einstellung" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "Auswahleinstellungen" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "Eine Einstellung mit mehreren Optionen" @@ -7355,43 +7452,43 @@ msgstr "Plugins sammeln" msgid "Collect plugins and add them to the registry" msgstr "Plugins sammeln und zur Registrierung hinzufügen" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "Plugin aktivieren" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "Dieses Plugin aktivieren" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "Konfiguration löschen" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "Plugin-Konfiguration aus der Datenbank löschen" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "Teile" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "Plugin nicht gefunden" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "Plugin ist nicht aktiv" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "US-Letter" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "Vorlagen Name" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "Dateinamen-Muster" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Filter" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "Seitengröße für PDF-Berichte" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "Bericht in Querformat anzeigen" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Breite [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "Label-Breite in mm" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Höhe [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "Label-Höhe in mm" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "Schnipsel" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "Berichts-Snippet" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "Snippet-Beschreibung" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "Ressource" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "Berichts-Ressource" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "Ressource-Beschreibung" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "Etiketten-Vorlage auswählen" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "Benötigte Materialien" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "Summe" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "Losnummer" msgid "Stock location items" msgstr "Lagerstandorte" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Lagerartikel Test-Bericht" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "Verbaute Objekte" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Seriennummer" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Testergebnisse" @@ -7647,15 +7767,6 @@ msgstr "Kein Ergebnis (erforderlich)" msgid "No result" msgstr "Kein Ergebnis" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "Verbaute Objekte" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Seriennummer" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "Die Bestandsdatei ist nicht vorhanden" @@ -7672,123 +7783,123 @@ msgstr "part_image tag benötigt eine Bauteilinstanz" msgid "company_image tag requires a Company instance" msgstr "company_image tag erfordert eine Firmeninstanz" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "Filtern nach Standorttiefe" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "Unterorte in gefilterte Ergebnisse einbeziehen" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "Übergeordneter Ort" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "Filtern nach übergeordnetem Ort" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "Statuscode" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "Externer Standort" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "Teile-Baum" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "Gültigkeitsdauer vor" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "Gültigkeitsdauer nach" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "überfällig" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "Menge ist erforderlich" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "Gültiges Teil muss angegeben werden" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "Der angegebene Lieferantenartikel existiert nicht" -#: stock/api.py:1029 +#: stock/api.py:1048 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:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Seriennummern können für nicht verfolgbare Teile nicht angegeben werden" @@ -7897,7 +8008,7 @@ msgstr "Passendes Zuliefererteil für diesen Lagerartikel auswählen" msgid "Where is this stock item located?" msgstr "Wo wird dieses Teil normalerweise gelagert?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "Verpackung, in der dieser Lagerartikel gelagert ist" @@ -7913,7 +8024,7 @@ msgstr "Ist dieses Teil in einem anderen verbaut?" msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" @@ -7969,136 +8080,136 @@ msgstr "Preis für eine Einheit bei Einkauf" msgid "Converted to part" msgstr "In Teil umgewandelt" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "Teil ist nicht verfolgbar" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "Anzahl muss eine Ganzzahl sein" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Menge darf die verfügbare Lagermenge ({self.quantity}) nicht überschreiten" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "Anzahl stimmt nicht mit den Seriennummern überein" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "Testvorlage existiert nicht" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "Artikel wurde einem Kundenauftrag zugewiesen" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "Lagerartikel ist in anderem Element verbaut" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "Lagerartikel enthält andere Artikel" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "Artikel wurde einem Kunden zugewiesen" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "Lagerartikel wird aktuell produziert" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "Artikel duplizeren" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "Lagerartikel müssen auf dasselbe Teil verweisen" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "Lagerartikel müssen auf dasselbe Lieferantenteil verweisen" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "Status-Codes müssen zusammenpassen" -#: stock/models.py:2196 +#: stock/models.py:2209 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:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "Eintrags-Notizen" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "Wert muss für diesen Test angegeben werden" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "Anhang muss für diesen Test hochgeladen werden" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Testergebnis" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "Test Ausgabe Wert" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "Test Ergebnis Anhang" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "Test Notizen" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "Teststation" -#: stock/models.py:2841 +#: stock/models.py:2854 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:2847 +#: stock/models.py:2860 msgid "Started" msgstr "Gestartet" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "Der Zeitstempel des Teststarts" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "Fertiggestellt" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "Der Zeitstempel der Test-Beendigung" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Packungsgröße beim Hinzufügen verwenden: Die definierte Menge ist die Anzahl der Pakete" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "abgelaufen" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "Untergeordnete Objekte" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "Einkaufspreis dieses Lagerartikels, pro Einheit oder Verpackungseinheit" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Anzahl darf nicht die verfügbare Menge überschreiten ({q})" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "Ziel-Bestand" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "Optionales Notizfeld" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "Seriennummern können diesem Teil nicht zugewiesen werden" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "Lagerartikel für Installation auswählen" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "Zu installierende Menge" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "Anzahl der zu verwendenden Artikel eingeben" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "Die zu verwendende Menge muss mindestens 1 sein" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "Lagerartikel ist nicht verfügbar" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "Ausgewähltes Teil ist nicht in der Stückliste" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "Die zu verwendende Menge darf die verfügbare Menge nicht überschreiten" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "Ziel Lagerort für unverbautes Objekt" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "Wählen Sie einen Teil aus, zu dem dieser Lagerartikel geändert werden soll" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "Das ausgewählte Teil ist keine gültige Option für die Umwandlung" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Lagerartikel konnte nicht mit Zulieferteil zugewiesen werden" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "Lagerartikel Status-Code" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "Ziel Lagerort für zurückgegebene Artikel" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "Lagerartikel auswählen, um den Status zu ändern" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "Keine Lagerartikel ausgewählt" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "Übergeordneter Lagerort" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "Keine Änderung" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index 10221d0b1b..351189f810 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "Το API endpoint δε βρέθηκε" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Δεν έχετε δικαιώματα να το δείτε αυτό" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Σημειώσεις" @@ -356,7 +356,7 @@ msgstr "Κινέζικα (Παραδοσιακά)" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "" @@ -408,19 +408,19 @@ msgstr "Διπλότυπα ονόματα δεν μπορούν να υπάρχ msgid "Invalid choice" msgstr "Μη έγκυρη επιλογή" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Όνομα" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Περιγραφή" msgid "Description (optional)" msgstr "Περιγραφή (προαιρετική)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Μονοπάτι" @@ -479,11 +479,11 @@ msgstr "Ένα σφάλμα έχει καταγραφεί από το διακο msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Νόμισμα" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Επιλέξτε νόμισμα από τις διαθέσιμες επιλογές" @@ -527,29 +527,29 @@ msgstr "Η μέση τιμή δεν πρέπει να υπερβαίνει το msgid "Invalid value for overage" msgstr "Μη έγκυρη τιμή για υπέρβαση" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Γονική Κατασκευή" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "Εξάρτημα" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Εκδόθηκε από" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Αναλώσιμο" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Προαιρετικό" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Υπό παρακολούθηση" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Κατανεμημένο" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Διαθέσιμο" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" @@ -854,7 +854,7 @@ msgstr "Εκδόθηκε από" msgid "User who issued this build order" msgstr "Χρήστης που εξέδωσε αυτήν την παραγγελία κατασκευής" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Χρήστης ή ομάδα υπεύθυνη για αυτή την ε msgid "External Link" msgstr "Εξωτερικοί σύνδεσμοι" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Σύνδεσμος προς εξωτερική διεύθυνση URL" @@ -881,7 +881,7 @@ msgstr "Προτεραιότητα Κατασκευής" msgid "Priority of this build order" msgstr "Προτεραιότητα αυτής της εντολής κατασκευής" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Κωδικός Έργου" @@ -903,51 +903,50 @@ msgstr "Η παραγγελία κατασκευής {build} έχει ολοκλ msgid "A build order has been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Δεν καθορίστηκε έξοδος κατασκευής" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "Η ποσότητα δεν μπορεί να είναι μεγαλύτερη από την παραγόμενη ποσότητα" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Το προϊόν κατασκευής {serial} δεν έχει περάσει όλες τις απαιτούμενες δοκιμές" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Αντικείμενο κατασκευής" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Αντικείμενο κατασκευής" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Ποσότητα" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Απαιτούμενη ποσότητα για την εντολή κατασκευής" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Το στοιχείο κατασκευής πρέπει να ορίζει μια έξοδο κατασκευής, καθώς το κύριο τμήμα επισημαίνεται ως ανιχνεύσιμο" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα αποθέματος ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Η ποσότητα πρέπει να είναι 1 για σειριακό απόθεμα" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "Το επιλεγμένο στοιχείο αποθέματος δεν ταιριάζει με τη γραμμή ΤΥ" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Στοιχείο πηγαίου αποθέματος" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Ποσότητα αποθέματος για διάθεση για κατασκευή" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Εγκατάσταση σε" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Αποθήκη προορισμού" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Σειριακοί αριθμοί" @@ -1070,10 +1071,10 @@ msgstr "Εισάγετε ποσότητα για την έξοδο κατασκ #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Τοποθεσία" @@ -1089,8 +1090,8 @@ msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" msgid "Automatically allocate required items with matching serial numbers" msgstr "Αυτόματη κατανομή των απαιτούμενων στοιχείων με τους αντίστοιχους σειριακούς αριθμούς" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "Οι παρακάτω σειριακοί αριθμοί υπάρχουν ήδη ή δεν είναι έγκυροι" @@ -1222,7 +1223,7 @@ msgstr "Αντικείμενο Γραμμής Κατασκευής" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part πρέπει να δείχνει στο ίδιο εξάρτημα με τη εντολή κατασκευής" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "Ακυρώθηκε" msgid "Complete" msgstr "Ολοκληρώθηκε" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "Χρήστης" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Σύνδεσμος" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Συνημμένο" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Το αρχείο λείπει" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Λείπει ο εξωτερικός σύνδεσμος" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Επιλέξτε αρχείο για επισύναψη" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Σχόλιο" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Όνομα αρχείου" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3513,331 +3638,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Κατάσταση" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "Επιστροφή χρημάτων" msgid "Reject" msgstr "Απόρριψη" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Ο έλεγχος εργασίας στο παρασκήνιο απέτυχε" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index 6d7cd8f9db..ffa5d591c7 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: 2025-06-19 11:43+0000\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -22,39 +22,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "" @@ -110,13 +110,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "" @@ -357,7 +357,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "" @@ -409,19 +409,19 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -431,7 +431,7 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "" @@ -480,11 +480,11 @@ msgstr "" msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "" @@ -528,29 +528,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -559,8 +559,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -569,122 +569,122 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -810,7 +810,7 @@ msgid "Build status code" msgstr "" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "" @@ -855,7 +855,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -869,7 +869,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" @@ -882,7 +882,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -904,51 +904,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -956,63 +955,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1061,7 +1062,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "" @@ -1071,10 +1072,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "" @@ -1090,8 +1091,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1223,7 +1224,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1300,13 +1301,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1318,7 +1319,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1331,7 +1332,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1340,21 +1341,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1392,32 +1393,32 @@ msgstr "" msgid "Complete" msgstr "" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1437,61 +1438,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1499,485 +1500,601 @@ msgstr "" msgid "User" msgstr "" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2020,80 +2137,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2105,1073 +2222,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3408,42 +3541,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3500,13 +3625,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3514,331 +3639,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3854,7 +3979,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3890,10 +4015,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3998,7 +4119,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4383,7 +4504,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "" @@ -4428,7 +4549,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4546,7 +4667,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4851,11 +4972,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5047,130 +5168,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5220,7 +5325,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5336,7 +5441,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5345,7 +5450,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5377,7 +5482,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5613,7 +5718,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5714,7 +5819,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5978,359 +6083,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6652,8 +6749,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6980,7 +7077,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7012,51 +7109,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7161,21 +7258,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7204,11 +7301,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7356,43 +7453,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7416,132 +7513,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7568,6 +7673,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7603,6 +7710,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7620,10 +7728,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7648,15 +7768,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7673,123 +7784,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7898,7 +8009,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7914,7 +8025,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7970,136 +8081,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8171,201 +8282,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index 2bc8111af9..5c051fce68 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "Debe habilitar la autenticación de doble factor antes de continuar." -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "endpoint API no encontrado" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "Lista de artículos o filtros deben ser proporcionados para la operación en bloque" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "Los artículos deben ser proporcionados como una lista" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "Lista de artículos no válida" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "Filtros proporcionados inválidos" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "Ningún artículo coincide con el criterio proporcionado" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "El usuario no tiene permiso para ver este modelo" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "Número decimal no válido" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Notas" @@ -356,7 +356,7 @@ msgstr "Chino (Tradicional)" msgid "Log in to the app" msgstr "Iniciar sesión en la aplicación" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "Correo electrónico" @@ -408,19 +408,19 @@ msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Descripción" msgid "Description (optional)" msgstr "Descripción (opcional)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Ruta" @@ -479,11 +479,11 @@ msgstr "Se ha registrado un error por el servidor." msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Moneda" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" @@ -527,29 +527,29 @@ msgstr "El excedente no debe superar el 100%" msgid "Invalid value for overage" msgstr "Valor no válido para sobrecarga" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Estado del pedido" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Construcción o Armado Superior" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "Incluye Variantes" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "Incluye Variantes" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "Incluye Variantes" msgid "Part" msgstr "Parte" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Categoría" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "Asignado a mí" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Emitido por" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "Asignadas a" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "Creado antes" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "Creado despues" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "Tiene fecha inicial" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "Fecha de inicio anterior" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "Fecha de inicio después" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "Tiene fecha límite" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "Fecha objetivo antes" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "Fecha objetivo después" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "Completado antes" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "Completado después" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "Fecha Mínima" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "Fecha Máxima" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "Excluir Árbol" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Consumible" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Opcional" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Montaje" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Rastreado" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Comprobable" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "Pedido pendiente" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Asignadas" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Disponible" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Código de estado de construcción" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Numero de lote" @@ -854,7 +854,7 @@ msgstr "Emitido por" msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Usuario o grupo responsable de esta orden de construcción" msgid "External Link" msgstr "Link externo" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Enlace a URL externa" @@ -881,7 +881,7 @@ msgstr "Prioridad de construcción" msgid "Priority of this build order" msgstr "Prioridad de esta orden de construcción" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Código del proyecto" @@ -903,51 +903,50 @@ msgstr "El pedido {build} ha sido procesado" msgid "A build order has been completed" msgstr "Pedido #[order] ha sido procesado" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "Los números de serie deben ser proporcionados para las partes rastreables" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "No se ha especificado salida de construcción" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "La construcción de la salida ya está completa" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "La salida de la construcción no coincide con el orden de construcción" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "La cantidad no puede ser mayor que la cantidad de salida" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "La construcción {serial} no ha pasado todas las pruebas requeridas" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "Construir línea de pedido" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Ensamblar equipo" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Ensamblar equipo" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Cantidad" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Cantidad requerida para orden de ensamble" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "La cantidad debe ser 1 para el stock serializado" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Artículo de stock" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Producto original de stock" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Cantidad de stock a asignar para construir" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Instalar en" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Artículo de stock de destino" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Números de serie" @@ -1070,10 +1071,10 @@ msgstr "Introduzca los números de serie de salidas de construcción" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Ubicación" @@ -1089,8 +1090,8 @@ 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:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" @@ -1222,7 +1223,7 @@ msgstr "Crear partida" 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:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" @@ -1299,13 +1300,13 @@ msgstr "Nombre de parte la BOM" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "Parte del proveedor" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "Cantidad Asignada" @@ -1317,7 +1318,7 @@ msgstr "Referencia de orden de Ensamblado" msgid "Part Category Name" msgstr "Nombre de la categoría por pieza" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Rastreable" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "Permitir variantes" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "Item de Lista de Materiales" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "Stock Asignado" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "En pedido" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "En producción" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "Stock externo" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Stock Disponible" @@ -1391,32 +1392,32 @@ msgstr "Cancelado" msgid "Complete" msgstr "Terminado" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "Stock requerido para la orden de construcción" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "Orden de construcción atrasada" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "El pedido de construcción {bo} está atrasado" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "¿Es enlace?" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "¿Es archivo?" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "El usuario no tiene permiso para eliminar estos adjuntos" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "El usuario no tiene permiso para eliminar este adjunto" @@ -1436,61 +1437,61 @@ msgstr "No se han proporcionado códigos de divisa válidos" msgid "No plugin" msgstr "Sin plugin" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Actualizado" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Fecha y hora de la última actualización" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Código único del proyecto" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Descripción del proyecto" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "Usuario o grupo responsable de este projecto" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "Tecla de ajustes" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Valor de ajuste" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "El valor elegido no es una opción válida" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "El valor debe ser un valor booleano" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "El valor debe ser un entero" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "El valor debe ser un número válido" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "El valor no pasa las comprobaciones de validación" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "Cadena de clave debe ser única" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "Cadena de clave debe ser única" msgid "User" msgstr "Usuario" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Precio" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Endpoint" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "Punto final en el que se recibe este webhook" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "Nombre para este webhook" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Activo" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "Está activo este webhook" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "Token para el acceso" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Clave" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "Secreto compartido para HMAC" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "ID de mensaje" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "Identificador único para este mensaje" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "Servidor" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "Servidor desde el cual se recibió este mensaje" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Encabezado" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "Encabezado del mensaje" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Cuerpo" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "Cuerpo de este mensaje" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "Endpoint en el que se recibió este mensaje" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "Trabajado en" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "¿El trabajo en este mensaje ha terminado?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "Id" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Título" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Enlace" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Publicado" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Autor" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Resumen" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Leer" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "¿Esta noticia ya fue leída?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Imágen" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Archivo de imagen" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "Unidad personalizada" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "El símbolo de la unidad debe ser único" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "Nombre de unidad debe ser un identificador válido" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "Nombre de unidad" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "Símbolo de unidad opcional" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Definición" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Definición de unidad" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Archivo adjunto" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Archivo no encontrado" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Falta enlace externo" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Comentario" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "Comentario de archivo adjunto" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "Fecha de carga" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "Fecha de carga del archivo" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "Tamaño del archivo" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "Tamaño del archivo en bytes" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "Tipo de modelo no válido especificado para el archivo adjunto" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "Estado personalizado" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "Estados personalizados" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Llave lógica" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Valor" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "Nombre del estado" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "Etiqueta" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "Etiqueta que se mostrará en el frontend" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "Color" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "Color que se mostrará en el frontend" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "Modelo" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "El modelo debe ser seleccionado" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "La clave debe ser seleccionada" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "La clave lógica debe ser seleccionada" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "Lista de selección" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "Listas de Selección" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "Nombre de la lista de selección" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "Descripción de la lista de selección" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "Bloqueado" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "¿Está bloqueada esta lista de selección?" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "¿Se puede utilizar esta lista de selección?" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "Complemento de origen" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "Complemento que proporciona la lista de selección" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "Cadena de origen" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "Cadena opcional que identifica la fuente usada para esta lista" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "Entrada por defecto" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "Entrada predeterminada para esta lista de selección" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Creado" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "Fecha y hora en la que se creó la lista de selección" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Última actualización" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "Fecha y hora en que la lista de selección fue actualizada por última vez" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "Entrada de lista de selección" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "Entradas de la lista de selección" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "Lista de selección a la que pertenece esta entrada" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "Valor del elemento de la lista de selección" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "Etiqueta para la entrada de lista de selección" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "Descripción de la entrada de lista de selección" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "¿Está activa esta entrada de la lista de selección?" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "Escanear código de barras" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Datos" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "Datos de código de barras" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "Usuario que escaneó el código de barras" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "Fecha y hora del escaneo de código de barras" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "Dispositivo URL que procesó el código de barras" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Contexto" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "Datos de contexto para el escaneo de código de barras" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "Respuesta" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "Respuesta de datos del escaneo de código de barras" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Resultado" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "¿El escaneo de código de barras fue exitoso?" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Clave" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "Está en ejecución" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "Tareas pendientes" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Tareas Programadas" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Tareas fallidas" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "Identificación de Tarea" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "Identificación de tarea única" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "Bloquear" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Bloquear hora" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Nombre de la tarea" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Función" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Nombre de la Función" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Argumentos" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Argumentos de la tarea" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "Argumentos de palabra clave" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "Argumentos de palabra clave de tarea" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Nombre de Archivo" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "El usuario no tiene permiso para crear o editar archivos adjuntos para este modelo" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "Lista de selección bloqueada" @@ -2104,1073 +2221,1089 @@ msgstr "Sin grupo" msgid "Site URL is locked by configuration" msgstr "La URL del sitio está bloqueada por su configuración" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Reinicio requerido" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "Se ha cambiado una configuración que requiere un reinicio del servidor" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Migraciones pendientes" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "Número de migraciones de base de datos pendientes" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "Identificador único para esta instancia de InvenTree" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Nombre de la instancia del servidor" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "Descriptor de cadena para la instancia del servidor" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Usar nombre de instancia" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "Utilice el nombre de la instancia en la barra de título" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "Restringir mostrar 'acerca de'" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "Mostrar la modal `about` solo para superusuarios" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Nombre de empresa" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Nombre interno de empresa" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "URL Base" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "URL base para la instancia del servidor" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Moneda predeterminada" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "Seleccione la moneda base para los cálculos de precios" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "Monedas admitidas" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "Listado de códigos de divisa soportados" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "Intervalo de actualización de moneda" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Con qué frecuencia actualizar los tipos de cambio (establecer a cero para desactivar)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "días" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "Plugin de Actualización de Moneda" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "Plugin de actualización de moneda a usar" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Descargar desde URL" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Permitir la descarga de imágenes y archivos remotos desde la URL externa" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "Límite de tamaño de descarga" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "Tamaño máximo de descarga permitido para la imagen remota" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "Agente de usuario usado para descargar desde la URL" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Permitir reemplazar el agente de usuario utilizado para descargar imágenes y archivos desde URL externa (dejar en blanco para el valor predeterminado)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "Validación estricta de URL" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "Requerir especificación de esquema al validar URLs" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Actualizar intervalo de actualización" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "Con qué frecuencia comprobar actualizaciones (establecer a cero para desactivar)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Copia de seguridad automática" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Activar copia de seguridad automática de los archivos de base de datos y medios" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Intervalo de respaldo automático" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Especificar número de días entre eventos automatizados de copia de seguridad" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "Intervalo de eliminación de tareas" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "Los resultados de las tareas en segundo plano se eliminarán después del número especificado de días" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "Intervalo de eliminación de registro de errores" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "Los registros de errores se eliminarán después del número especificado de días" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "Intervalo de eliminación de notificaciones" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Las notificaciones de usuario se eliminarán después del número especificado de días" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Soporte de código de barras" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "Habilitar el soporte para escáner de códigos de barras en la interfaz web" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "Guardar resultados de código de barras" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "Guardar resultados de código de barras en la base de datos" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "Número máximo de escaneos de código de barras" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "Número máximo de resultados de escaneo de código de barras para almacenar" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "Retraso de entrada de código de barras" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "Tiempo de retraso en la lectura de códigos de barras" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "Soporte para Webcam de código de barras" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "Permitir escaneo de código de barras a través de webcam en el navegador" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "Mostrar datos del código de barra como texto en el navegador" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "Complemento para generar códigos de barra" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "Complemento a usar para la generación de datos de códigos de barra internos" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "Revisiones de partes" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "Habilitar campo de revisión para parte" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "Regex IPN" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "Patrón de expresión regular para IPN de la parte coincidente" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Permitir IPN duplicado" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "Permitir que varias partes compartan el mismo IPN" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "Permitir editar IPN" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "Permite cambiar el valor de IPN mientras se edita una parte" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Copiar parte de datos BOM" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "Copiar datos BOM por defecto al duplicar una parte" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "Copiar parámetros de parte" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "Copiar datos de parámetro por defecto al duplicar una parte" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "Copiar parte de datos de prueba" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "Copiar datos de parámetro por defecto al duplicar una parte" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "Copiar plantillas de parámetros de categoría" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "Copiar plantillas de parámetros de categoría al crear una parte" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Plantilla" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "Las partes son plantillas por defecto" -#: common/setting/system.py:430 +#: common/setting/system.py:443 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:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Componente" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "Las partes pueden ser usadas como subcomponentes por defecto" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Comprable" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "Las partes son comprables por defecto" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Vendible" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "Las partes se pueden vender por defecto" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "Las partes son rastreables por defecto" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Virtual" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Las partes son virtuales por defecto" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Mostrar partes relacionadas" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Mostrar partes relacionadas para una parte" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "Datos iniciales de existencias" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "Permitir la creación del stock inicial al añadir una nueva parte" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "Datos iniciales del proveedor" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permitir la creación de datos iniciales del proveedor al agregar una nueva parte" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Formato de visualización de Nombre de Parte" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Formato para mostrar el nombre de la parte" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "Icono por defecto de la categoría de parte" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "Icono por defecto de la categoría de parte (vacío significa que no hay icono)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "Forzar unidades de parámetro" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "Si se proporcionan unidades, los valores de parámetro deben coincidir con las unidades especificadas" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "Mínimo de lugares decimales en el precio" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Número mínimo de decimales a mostrar al procesar los datos de precios" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "Máximo de lugares decimales en el precio" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Número máximo de decimales a mostrar al procesar los datos de precios" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Usar precios de proveedor" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Incluir descuentos de precios del proveedor en los cálculos generales de precios" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Anulación del historial de compra" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "El precio histórico de compra anula los descuentos de precios del proveedor" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "Usar precio del artículo de almacén" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Usar los precios de los datos de inventario introducidos manualmente para los cálculos de precios" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "Edad del precio del artículo de almacén" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Excluir artículos de almacén anteriores a este número de días de los cálculos de precios" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "Usar precios variantes" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "Incluir variantes de precios en los cálculos generales de precios" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "Solo variantes activas" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "Usar solo partes de variantes activas para calcular los precios de variantes" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "Intervalo de reconstrucción de precios" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "Número de días antes de que el precio de la parte se actualice automáticamente" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Precios internos" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "Habilitar precios internos para partes" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Anulación del precio interno" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "Si está disponible, los precios internos anulan los cálculos del rango de precios" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Habilitar impresión de etiquetas" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Habilitar impresión de etiquetas desde la interfaz web" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "PPP de la imagen de etiqueta" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Resolución DPI al generar archivos de imagen que suministrar para etiquetar complementos de impresión" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Habilitar informes" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Habilitar generación de informes" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Modo de depuración" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "Generar informes en modo de depuración (salida HTML)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "Registrar errores de reportes" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "Registrar errores ocurridos al generar reportes" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Tamaño de página" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Tamaño de página predeterminado para informes PDF" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "Seriales únicos globalmente" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "Los números de serie para los artículos de inventario deben ser únicos globalmente" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "Eliminar existencias agotadas" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "Determina el comportamiento por defecto al agotarse un artículo del inventario" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "Plantilla de código de lote" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "Plantilla para generar códigos de lote por defecto para artículos de almacén" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "Expiración de stock" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "Habilitar la funcionalidad de expiración de stock" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "Vender existencias caducadas" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "Permitir venta de existencias caducadas" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "Tiempo histórico de Stock" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "Número de días de artículos de stock se consideran obsoletos antes de caducar" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "Crear Stock Caducado" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "Permitir crear con stock caducado" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "Control de Stock" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "Habilitar control de propiedad sobre ubicaciones de stock y artículos" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "Icono por defecto de ubicación de almacén" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "Icono por defecto de ubicación de almacén (vacío significa que no hay icono)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "Mostrar Articulos de Stock Instalados" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "Mostrar los artículos de stock instalados en las tablas de stock" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "Permitir transferencia Sin Existencias" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Permitir que artículos del inventario sin existencias puedan ser transferidos entre ubicaciones de inventario" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "Patrón de Referencia de Ordenes de Armado" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Ensamblado" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "Requerir Dueño Responsable" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "Se debe asignar un dueño responsable a cada orden" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "Requerir Parte Activa" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "Impedir la creación de órdenes de fabricación para partes inactivas" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "Requerir Parte Bloqueada" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "Impedir la creación de órdenes de fabricación para partes bloqueadas" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "Impedir la creación de órdenes de fabricación a menos que se haya validado la lista de materiales" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "Prevenir la finalización de la orden de construcción hasta que todas las órdenes hijas estén cerradas" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "Bloquear hasta que los Tests pasen" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Evitar que las construcciones sean completadas hasta que todas las pruebas requeridas pasen" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "Habilitar órdenes de devolución" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "Habilitar la funcionalidad de orden de devolución en la interfaz de usuario" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "Patrón de referencia de orden de devolución" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "Patrón requerido para generar el campo de referencia de devolución de la orden" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "Editar ordenes de devolución completadas" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "Permitir la edición de ordenes de devolución después de que hayan sido completados" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "Patrón de Referencia de Ordenes de Venta" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la orden de venta" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "Envío Predeterminado de Ordenes de Venta" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar la creación de envío predeterminado con ordenes de entrega" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "Editar Ordenes de Venta Completados" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Permitir la edición de ordenes de venta después de que hayan sido enviados o completados" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "Marcar pedidos enviados como completados" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Los pedidos marcados como enviados se completarán automáticamente, evitando el estado de \"envío\"" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "Patrón de Referencia de Orden de Compra" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Compra" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "Editar Ordenes de Compra Completados" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Permitir la edición de órdenes de venta después de que hayan sido enviados o completados" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "Convertir moneda" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "Autocompletar Ordenes de compra" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Marcar automáticamente las órdenes de compra como completas cuando se reciben todos los artículos de línea" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Habilitar función de contraseña olvidada" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Activar la función olvido de contraseña en las páginas de inicio de sesión" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Habilitar registro" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Activar auto-registro para usuarios en las páginas de inicio de sesión" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "Habilitar SSO" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "Habilitar SSO en las páginas de inicio de sesión" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "Habilitar registro SSO" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Activar autoregistro a través de SSO para usuarios en las páginas de inicio de sesión" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "Habilitar sincronización de grupo SSO" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "Habilitar la sincronización de grupos de Inventree con grupos proporcionados por el IdP" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "Clave de grupo SSO" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "El nombre del atributo reclamado por el grupo proporcionado por el IdP" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "Mapa del grupo SSO" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "Un mapeo de grupos SSO a grupos de Inventree locales. Si el grupo local no existe, se creará." -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "Eliminar grupos fuera de SSO" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "Email requerido" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "Requiere usuario para suministrar correo al registrarse" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "Auto-rellenar usuarios SSO" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "Rellenar automáticamente los datos de usuario de la cuenta SSO" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "Correo dos veces" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "Al registrarse pregunte dos veces a los usuarios por su correo" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Contraseña dos veces" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "Al registrarse, preguntar dos veces a los usuarios por su contraseña" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Dominios permitidos" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Restringir el registro a ciertos dominios (separados por comas, comenzando por @)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Grupo al registrarse" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "Grupo al que se asignan nuevos usuarios al registrarse. Si la sincronización de grupo SSO está activada, este grupo sólo se establece si no se puede asignar ningún grupo desde el IdP." -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "Forzar MFA" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "Los usuarios deben utilizar seguridad multifactor." -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "Comprobar complementos al iniciar" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Comprobar que todos los complementos están instalados en el arranque - habilitar en entornos de contenedores" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "Revisar actualizaciones del plugin" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "Habilitar comprobaciones periódicas para actualizaciones de plugins instalados" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "Habilitar integración de URL" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "Habilitar plugins para añadir rutas de URL" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "Habilitar integración de navegación" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "Habilitar plugins para integrar en la navegación" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "Habilitar integración de la aplicación" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "Habilitar plugins para añadir aplicaciones" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "Habilitar integración de programación" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "Habilitar plugins para ejecutar tareas programadas" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "Habilitar integración de eventos" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "Habilitar plugins para responder a eventos internos" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "Habilitar integración de interfaz" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "Habilitar complementos para integrar en la interfaz de usuario" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "Habilitar códigos de proyecto para rastrear proyectos" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "Funcionalidad de inventario" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Habilite la funcionalidad de inventario para registrar los niveles de existencias y calcular el valor de las existencias" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "Excluir Ubicaciones Externas" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Excluir artículos en existencia en ubicaciones externas de los cálculos de inventario" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "Periodo de inventario automático" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Número de días entre el registro automático del inventario (establecer en cero para desactivarlo)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "Intervalo de borrado de informe" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Los informes de inventario se eliminarán después de un número de días especificado" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "Mostrar nombres completos de los usuarios" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "Mostrar nombres completos de usuarios en lugar de nombres de usuario" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "Habilitar datos de estación de prueba" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "Habilitar la recolección de datos de estaciones de prueba para resultados de prueba" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "Crear plantilla al subir" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "Crear una nueva plantilla de prueba al subir datos de prueba que no coincidan con una plantilla existente" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar fechas" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Planificación de partes" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "Recibir reportes de error" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "Recibir notificación de errores del sistema" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "Últimas impresoras usadas" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Fabricante" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Empresa" @@ -3513,331 +3638,331 @@ msgstr "Empresa" msgid "Has Stock" msgstr "Tiene Stock" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Empresas" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Descripción de la empresa" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "Descripción de la empresa" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Página web" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "URL del sitio web de la empresa" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Teléfono" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Teléfono de contacto" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Correo electrónico de contacto" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Contacto" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "Punto de contacto" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "Enlace a información externa de la empresa" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "¿Esta empresa está activa?" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "¿Es cliente?" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "¿Vendes artículos a esta empresa?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "¿Es proveedor?" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "¿Compras artículos de esta empresa?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "¿Es productor?" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "¿Esta empresa fabrica partes?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "Moneda predeterminada utilizada para esta empresa" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Dirección" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Direcciones" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Seleccionar empresa" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "Título de dirección" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "Título que describe la entrada de dirección" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Dirección principal" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Establecer como dirección principal" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "Línea 1" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "Dirección línea 1" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "Línea 2" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "Dirección línea 2" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Código postal" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Ciudad/región" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "Código postal de ciudad/región" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "Estado/provincia" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "Estado o provincia" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "País" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "Dirección de país" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "Notas de envío de mensajería" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "Notas para el mensajero de envío" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "Notas de envío internas" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "Notas de envío para uso interno" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "Enlace a información de dirección (externa)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Parte del fabricante" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Parte base" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Seleccionar parte" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Seleccionar fabricante" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Número de parte de fabricante" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "URL para el enlace de parte del fabricante externo" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "Descripción de la parte del fabricante" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Nombre del parámetro" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Valor del parámetro" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Unidades" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Unidades de parámetro" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "Las unidades de paquete deben ser compatibles con las unidades de partes de base" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "Las unidades de paquete deben ser mayor que cero" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte base" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Proveedor" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "Unidad de mantenimiento de stock de proveedores" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Seleccionar parte del fabricante" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "URL del enlace de parte del proveedor externo" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Nota" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "costo base" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Paquetes" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "Embalaje de partes" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "Cantidad de paquete" -#: company/models.py:858 +#: company/models.py:891 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:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "múltiple" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "Pedido múltiple" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "Cantidad disponible del proveedor" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "Disponibilidad actualizada" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "Fecha de última actualización de los datos de disponibilidad" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "Moneda predeterminada utilizada para este proveedor" msgid "Company Name" msgstr "Nombre de la empresa" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "En Stock" @@ -3889,10 +4014,6 @@ msgstr "Información adicional de estado para este artículo" msgid "Custom status key" msgstr "Clave personalizada de estado" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Clave" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "Datos de la fila original" msgid "Errors" msgstr "Errores" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "Válido" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "Referencia del pedido" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Estado" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "La cantidad debe ser un número positivo" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "Recibido" msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "Precio de Compra" @@ -4850,11 +4971,11 @@ msgstr "Combinar artículos" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "SKU" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "Número de parte interna" @@ -5046,130 +5167,114 @@ msgstr "Reembolso" msgid "Reject" msgstr "Rechazo" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "Orden de compra atrasada" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "La orden de compra {po} está atrasada" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "Orden de venta atrasada" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "La orden de venta {so} está atrasada" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "Favoritos" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "Profundidad" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "Filtrar por profundidad de categoría" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "Nivel superior" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "Filtrar por categorías de nivel superior" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "En cascada" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "Tiene resultados" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "Orden de compra entrante" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "Orden de venta saliente" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "Validación de Lista de Materiales" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "Esta opción debe ser seleccionada" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "Icono (opcional)" 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:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Partes" @@ -5335,7 +5440,7 @@ msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqued msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -5344,7 +5449,7 @@ msgstr "IPN" msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Revisión" @@ -5376,7 +5481,7 @@ msgstr "Expiración por defecto" 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:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Stock mínimo" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Fecha" @@ -5713,7 +5818,7 @@ msgstr "Descripción de prueba" msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Habilitado" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "Moneda de compra de ítem de stock" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "Cantidad especulativa" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "ID del modelo" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "Parte original" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "Seleccione la parte original a duplicar" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Copiar Imagen" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "Copiar imagen desde la parte original" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "Copiar BOM" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "Copiar la factura de materiales de la parte original" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "Copiar Parámetros" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "Copiar datos del parámetro de la parte original" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "Cantidad Inicial de Stock" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "Número de parte del fabricante" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "La empresa seleccionada no es un proveedor válido" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "La empresa seleccionada no es un fabricante válido" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Nombre de categoría" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "En construcción" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Elementos de stock" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Proveedores" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Inventario Total" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "Stock Inicial" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "Crear Parte con cantidad inicial de stock" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "Imagen Existente" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "El archivo de imagen no existe" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "Puede construir" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Generar informe" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "Actualizar partes" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Falló la comprobación en segundo plano del worker" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Precio mínimo" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "Anular el valor calculado para precio mínimo" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "Precio mínimo de moneda" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Precio máximo" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "Precio máximo de moneda" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "El precio mínimo no debe ser mayor que el precio máximo" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "El precio máximo no debe ser inferior al precio mínimo" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluye artículos BOM que son heredados de partes con plantillas" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "Proporciona soporte nativo para códigos de barras" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "Contribuidores de InvenTree" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "Complemento" msgid "Method" msgstr "Método" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "No se encontró autor" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "El complemento '{p}' no es compatible con la versión actual de InvenTree {v}" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "El complemento requiere al menos la versión {v}" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "El complemento requiere como máximo la versión {v}" @@ -7203,11 +7300,11 @@ msgstr "Numérico" msgid "A numerical setting" msgstr "Una configuración numérica" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "Configuración de Elección" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "Un ajuste con múltiples opciones" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "Activar complemento" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "Activar este complemento" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "Dimensiones de etiqueta inválidas" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "Carta" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "Nombre de la plantilla" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "Adjuntar al modelo al imprimir" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Guardar la salida del informe como un archivo adjunto contra la instancia del modelo enlazado al imprimir" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "Patrón de Nombre de archivo" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Filtros" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "Tamaño de página para reportes PDF" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Ancho [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "Ancho de la etiqueta, especificado en mm" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Altura [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "Altura de la etiqueta, especificada en mm" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "Fragmento" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "Archivo fragmento de informe" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "Descripción de archivo de fragmento" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "Activo" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "Reportar archivo de activos" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "Descripción del archivo de activos" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "Selecciona la plantilla de etiqueta" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "Complemento de impresión" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "Selecciona el complemento a usar para imprimir etiquetas" @@ -7567,6 +7672,8 @@ msgstr "Materiales necesarios" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "Total" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "Lote" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Artículo Stock Informe de prueba" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "Elementos instalados" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Número de serie" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Resultados de la Prueba" @@ -7647,15 +7767,6 @@ msgstr "Ningún resultado (requerido)" msgid "No result" msgstr "Sin resultados" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "Elementos instalados" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Número de serie" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "Ubicación principal" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "Filtrar por ubicación principal" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "Nombre de pieza (insensible a mayúsculas y minúsculas)" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "El nombre de la pieza (insensible a mayúsculas y minúsculas)" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "Nombre de la pieza (expresión regular)" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "Pieza IPN (insensible a mayúsculas y minúsculas)" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "Pieza IPN (insensible a mayúsculas y minúsculas)" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "Pieza IPN (expresión regular)" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "Stock mínimo" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "Stock máximo" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "Código de estado" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "Ubicación externa" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "Instalado en otro artículo de existencias" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "Árbol de piezas" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "Actualizado antes" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "Actualizado después" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "Inventario antes" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "Inventario después" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "Desactualizado" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "Cantidad requerida" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "Debe suministrarse una parte válida" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "Seleccione una parte del proveedor correspondiente para este artículo d msgid "Where is this stock item located?" msgstr "¿Dónde se encuentra este artículo de stock?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "Empaquetar este artículo de stock se almacena en" @@ -7913,7 +8024,7 @@ msgstr "¿Está este artículo instalado en otro artículo?" msgid "Serial number for this item" msgstr "Número de serie para este artículo" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "Código de lote para este artículo de stock" @@ -7969,136 +8080,136 @@ msgstr "Precio de compra único en el momento de la compra" msgid "Converted to part" msgstr "Convertido a parte" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "La parte no está establecida como rastreable" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "Cantidad debe ser un entero" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "Los números de serie deben ser proporcionados como una lista" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "La cantidad no coincide con los números de serie" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 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:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "Artículo de stock está instalado en otro artículo" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "Artículo de stock contiene otros artículos" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "Artículo de stock ha sido asignado a un cliente" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "El artículo de stock está en producción" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "Stock serializado no puede ser combinado" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "Artículos de Stock Duplicados" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "Los artículos de stock deben referirse a la misma parte" -#: stock/models.py:1921 +#: stock/models.py:1934 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:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "Los códigos de estado del stock deben coincidir" -#: stock/models.py:2196 +#: stock/models.py:2209 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:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "Notas de entrada" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "Debe proporcionarse un valor para esta prueba" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "El archivo adjunto debe ser subido para esta prueba" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Resultado de la prueba" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "Valor de salida de prueba" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "Adjunto de resultados de prueba" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "Notas de prueba" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "Finalizó" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "Número de pieza del proveedor" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "Expirado" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "Elementos secundarios" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "Introduzca el número de artículos de stock para serializar" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La cantidad no debe exceder la cantidad disponible de stock ({q})" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "Introduzca números de serie para nuevos artículos" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "Ubicación de stock de destino" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "Campo de nota opcional" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "Los números de serie no se pueden asignar a esta parte" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "Números de serie ya existen" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "Añadir nota de transacción (opcional)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Sub-ubicación" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "La parte debe ser vendible" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "El artículo está asignado a una orden de venta" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "El artículo está asignado a una orden de creación" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "Cliente para asignar artículos de stock" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "La empresa seleccionada no es un cliente" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "Notas de asignación de stock" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "Debe proporcionarse una lista de artículos de stock" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "Notas de fusión de stock" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "Permitir proveedores no coincidentes" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permitir fusionar artículos de stock con diferentes partes de proveedor" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "Permitir estado no coincidente" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "Permitir fusionar artículos de stock con diferentes códigos de estado" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "Debe proporcionar al menos dos artículos de stock" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "Sin cambios" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "Valor de clave primaria de Stock" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "No hay existencias del artículo" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "Notas de transacción de stock" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" 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 0907e073fb..1102ca520d 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "endpoint API no encontrado" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "Lista de artículos inválida" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "Filtros proporcionados inválidos" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "El usuario no tiene permiso para ver este modelo" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "Número decimal inválido" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Notas" @@ -356,7 +356,7 @@ msgstr "Chino (Tradicional)" msgid "Log in to the app" msgstr "Iniciar sesión en la aplicación" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "Correo electrónico" @@ -408,19 +408,19 @@ msgstr "Los nombres duplicados no pueden existir bajo el mismo padre" msgid "Invalid choice" msgstr "Selección no válida" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Nombre" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Descripción" msgid "Description (optional)" msgstr "Descripción (opcional)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Ruta" @@ -479,11 +479,11 @@ msgstr "Se ha registrado un error por el servidor." msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Moneda" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" @@ -527,29 +527,29 @@ msgstr "El excedente no debe superar el 100%" msgid "Invalid value for overage" msgstr "Valor no válido para sobrecarga" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Estado del pedido" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Construcción o Armado Superior" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "Incluye Variantes" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "Incluye Variantes" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "Incluye Variantes" msgid "Part" msgstr "Parte" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Categoría" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "Construir antepasado" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "Asignado a mí" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Emitido por" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "Asignadas a" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "Creado antes de" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "Creado después de" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "Fecha objetivo antes de" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "Fecha objetivo después de" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "Completado antes de" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "Completado después de" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Consumible" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Opcional" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Montaje" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Rastreado" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Comprobable" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "Pedido pendiente" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Asignadas" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Disponible" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Código de estado de construcción" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Numero de lote" @@ -854,7 +854,7 @@ msgstr "Emitido por" msgid "User who issued this build order" msgstr "El usuario que emitió esta orden" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Usuario o grupo responsable de esta orden de construcción" msgid "External Link" msgstr "Link externo" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Enlace a URL externa" @@ -881,7 +881,7 @@ msgstr "Prioridad de construcción" msgid "Priority of this build order" msgstr "Prioridad de esta orden de construcción" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Código del proyecto" @@ -903,51 +903,50 @@ msgstr "El pedido {build} ha sido procesado" msgid "A build order has been completed" msgstr "Pedido #[order] ha sido procesado" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "Los números de serie deben ser proporcionados para las partes rastreables" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "No se ha especificado salida de construcción" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "La construcción de la salida ya está completa" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "La salida de la construcción no coincide con el orden de construcción" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "La cantidad no puede ser mayor que la cantidad de salida" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "La construcción {serial} no ha pasado todas las pruebas requeridas" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "Construir línea de pedido" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Ensamblar equipo" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Ensamblar equipo" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Cantidad" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Cantidad requerida para orden de ensamble" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "La cantidad debe ser 1 para el stock serializado" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "El artículo de almacén selelccionado no coincide con la línea BOM" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Artículo de stock" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Producto original de stock" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Cantidad de stock a asignar para construir" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Instalar en" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Artículo de stock de destino" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Números de serie" @@ -1070,10 +1071,10 @@ msgstr "Introduzca los números de serie de salidas de construcción" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Ubicación" @@ -1089,8 +1090,8 @@ 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:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" @@ -1222,7 +1223,7 @@ msgstr "Crear partida" 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:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" @@ -1299,13 +1300,13 @@ msgstr "Nombre de parte la BOM" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "Parte del proveedor" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "Cantidad Asignada" @@ -1317,7 +1318,7 @@ msgstr "Referencia de orden de Ensamblado" msgid "Part Category Name" msgstr "Nombre de la categoría por pieza" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Rastreable" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "Permitir variantes" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "Item de Lista de Materiales" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "Stock Asignado" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "En pedido" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "En producción" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "Stock externo" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Stock Disponible" @@ -1391,32 +1392,32 @@ msgstr "Cancelado" msgid "Complete" msgstr "Terminado" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "Stock requerido para la orden de construcción" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "Orden de construcción atrasada" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "El pedido de construcción {bo} está atrasado" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "¿Es enlace?" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "¿Es archivo?" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "El usuario no tiene permiso para eliminar estos adjuntos" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "El usuario no tiene permiso para eliminar este adjunto" @@ -1436,61 +1437,61 @@ msgstr "No se han proporcionado códigos de divisa válidos" msgid "No plugin" msgstr "Sin plugin" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Actualizado" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Fecha y hora de la última actualización" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Código único del proyecto" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Descripción del proyecto" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "Usuario o grupo responsable de este projecto" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "Tecla de ajustes" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Valor de ajuste" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "El valor elegido no es una opción válida" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "El valor debe ser un valor booleano" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "El valor debe ser un entero" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "El valor debe ser un número válido" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "El valor no pasa las comprobaciones de validación" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "Cadena de clave debe ser única" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "Cadena de clave debe ser única" msgid "User" msgstr "Usuario" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Precio" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "Precio unitario a la cantidad especificada" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Endpoint" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "Punto final en el que se recibe este webhook" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "Nombre para este webhook" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Activo" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "Está activo este webhook" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "Token para el acceso" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Clave" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "Secreto compartido para HMAC" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "ID de mensaje" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "Identificador único para este mensaje" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "Servidor desde el cual se recibió este mensaje" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Encabezado" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "Encabezado del mensaje" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Cuerpo" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "Cuerpo de este mensaje" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "Endpoint en el que se recibió este mensaje" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "Trabajado en" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "¿El trabajo en este mensaje ha terminado?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Título" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Enlace" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Publicado" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Autor" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Resumen" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Leer" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "¿Esta noticia ya fue leída?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Imágen" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Archivo de imagen" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "Tipo de modelo destino para esta imagen" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "Unidad personalizada" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "El símbolo de la unidad debe ser único" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "Nombre de unidad debe ser un identificador válido" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "Nombre de unidad" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "Símbolo de unidad opcional" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Definición" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Definición de unidad" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Archivo adjunto" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Archivo no encontrado" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Falta enlace externo" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Seleccionar archivo para adjuntar" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Comentario" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "Comentario de archivo adjunto" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "Fecha de carga" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "Fecha de carga del archivo" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "Tamaño del archivo" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "Tamaño del archivo en bytes" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "Tipo de modelo no válido especificado para el archivo adjunto" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "Estado personalizado" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "Estados personalizados" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "Conjunto de estado de referencia" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "Conjunto de estado extendido con este estado personalizado" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Llave lógica" -#: common/models.py:2032 +#: common/models.py:2041 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:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Valor" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "Valor numérico que se guardará en la base de datos de modelos" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "Nombre del estado" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "Etiqueta" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "Etiqueta que se mostrará en el frontend" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "Color" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "Color que se mostrará en el frontend" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "Modelo" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "Modelo con el que este estado está asociado" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "El modelo debe ser seleccionado" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "La clave debe ser seleccionada" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "La clave lógica debe ser seleccionada" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "La clave debe ser distinta de la clave lógica" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "Debe proporcionarse una clase de estado de referencia válida" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "La clave debe ser distinta de las claves lógicas del estado de referencia" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "Lista de selección" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "Listas de Selección" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "Nombre de la lista de selección" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "Descripción de la lista de selección" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "Bloqueado" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "¿Está bloqueada esta lista de selección?" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "¿Se puede utilizar esta lista de selección?" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "Complemento de origen" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "Complemento que proporciona la lista de selección" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "Cadena de origen" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "Cadena opcional que identifica la fuente usada para esta lista" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "Entrada por defecto" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "Entrada predeterminada para esta lista de selección" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Creado" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "Fecha y hora en la que se creó la lista de selección" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Última actualización" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "Fecha y hora en que la lista de selección fue actualizada por última vez" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "Entrada de lista de selección" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "Entradas de la lista de selección" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "Lista de selección a la que pertenece esta entrada" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "Valor del elemento de la lista de selección" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "Etiqueta para la entrada de lista de selección" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "Descripción de la entrada de lista de selección" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "¿Está activa esta entrada de la lista de selección?" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "Escanear código de barras" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Datos" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "Datos de código de barras" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "Usuario que escaneó el código de barras" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "Fecha y hora del escaneo de código de barras" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "Dispositivo URL que procesó el código de barras" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Contexto" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "Datos de contexto para el escaneo de código de barras" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "Respuesta" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "Respuesta de datos del escaneo de código de barras" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Resultado" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "¿El escaneo de código de barras fue exitoso?" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Clave" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "Está en ejecución" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "Tareas pendientes" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Tareas Programadas" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Tareas fallidas" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "Identificación de Tarea" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "Identificación de tarea única" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "Bloquear" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Bloquear hora" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Nombre de la tarea" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Función" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Nombre de la Función" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Argumentos" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Argumentos de la tarea" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "Argumentos de palabra clave" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "Argumentos de palabra clave de tarea" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Nombre de Archivo" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "Lista de selección bloqueada" @@ -2104,1073 +2221,1089 @@ msgstr "Sin grupo" msgid "Site URL is locked by configuration" msgstr "La URL del sitio está bloqueada por su configuración" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Reinicio requerido" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "Se ha cambiado una configuración que requiere un reinicio del servidor" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Migraciones pendientes" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "Número de migraciones de base de datos pendientes" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Nombre de la instancia del servidor" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "Descriptor de cadena para la instancia del servidor" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Usar nombre de instancia" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "Utilice el nombre de la instancia en la barra de título" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "Restringir mostrar 'acerca de'" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "Mostrar la modal `about` solo para superusuarios" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Nombre de empresa" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Nombre interno de empresa" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "URL Base" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "URL base para la instancia del servidor" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Moneda predeterminada" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "Seleccione la moneda base para los cálculos de precios" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "Monedas admitidas" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "Listado de códigos de divisa soportados" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "Intervalo de actualización de moneda" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Con qué frecuencia actualizar los tipos de cambio (establecer a cero para desactivar)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "días" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "Plugin de Actualización de Moneda" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "Plugin de actualización de moneda a usar" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Descargar desde URL" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Permitir la descarga de imágenes y archivos remotos desde la URL externa" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "Límite de tamaño de descarga" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "Tamaño máximo de descarga permitido para la imagen remota" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "Agente de usuario usado para descargar desde la URL" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Permitir reemplazar el agente de usuario utilizado para descargar imágenes y archivos desde URL externa (dejar en blanco para el valor predeterminado)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "Validación estricta de URL" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "Requerir especificación de esquema al validar URLs" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Actualizar intervalo de actualización" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "Con qué frecuencia comprobar actualizaciones (establecer a cero para desactivar)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Copia de seguridad automática" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Activar copia de seguridad automática de los archivos de base de datos y medios" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Intervalo de respaldo automático" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Especificar número de días entre eventos automatizados de copia de seguridad" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "Intervalo de eliminación de tareas" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "Los resultados de las tareas en segundo plano se eliminarán después del número especificado de días" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "Intervalo de eliminación de registro de errores" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "Los registros de errores se eliminarán después del número especificado de días" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "Intervalo de eliminación de notificaciones" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Las notificaciones de usuario se eliminarán después del número especificado de días" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Soporte de código de barras" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "Habilitar el soporte para escáner de códigos de barras en la interfaz web" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "Guardar resultados de código de barras" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "Guardar resultados de código de barras en la base de datos" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "Número máximo de escaneos de código de barras" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "Número máximo de resultados de escaneo de código de barras para almacenar" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "Retraso de entrada de código de barras" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "Tiempo de retraso en la lectura de códigos de barras" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "Soporte para Webcam de código de barras" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "Permitir escaneo de código de barras a través de webcam en el navegador" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "Mostrar datos del código de barra como texto en el navegador" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "Complemento para generar códigos de barra" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "Complemento a usar para la generación de datos de códigos de barra internos" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "Revisiones de partes" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "Habilitar campo de revisión para parte" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "Regex IPN" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "Patrón de expresión regular para IPN de la parte coincidente" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Permitir IPN duplicado" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "Permitir que varias partes compartan el mismo IPN" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "Permitir editar IPN" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "Permite cambiar el valor de IPN mientras se edita una parte" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Copiar parte de datos BOM" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "Copiar datos BOM por defecto al duplicar una parte" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "Copiar parámetros de parte" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "Copiar datos de parámetro por defecto al duplicar una parte" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "Copiar parte de datos de prueba" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "Copiar datos de parámetro por defecto al duplicar una parte" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "Copiar plantillas de parámetros de categoría" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "Copiar plantillas de parámetros de categoría al crear una parte" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Plantilla" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "Las partes son plantillas por defecto" -#: common/setting/system.py:430 +#: common/setting/system.py:443 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:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Componente" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "Las partes pueden ser usadas como subcomponentes por defecto" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Comprable" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "Las partes son comprables por defecto" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Vendible" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "Las partes se pueden vender por defecto" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "Las partes son rastreables por defecto" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Virtual" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Las partes son virtuales por defecto" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Mostrar partes relacionadas" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Mostrar partes relacionadas para una parte" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "Datos iniciales de existencias" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "Permitir la creación del stock inicial al añadir una nueva parte" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "Datos iniciales del proveedor" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permitir la creación de datos iniciales del proveedor al agregar una nueva parte" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Formato de visualización de Nombre de Parte" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Formato para mostrar el nombre de la parte" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "Icono por defecto de la categoría de parte" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "Icono por defecto de la categoría de parte (vacío significa que no hay icono)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "Forzar unidades de parámetro" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "Si se proporcionan unidades, los valores de parámetro deben coincidir con las unidades especificadas" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "Mínimo de lugares decimales en el precio" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Número mínimo de decimales a mostrar al procesar los datos de precios" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "Máximo de lugares decimales en el precio" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Número máximo de decimales a mostrar al procesar los datos de precios" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Usar precios de proveedor" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Incluir descuentos de precios del proveedor en los cálculos generales de precios" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Anulación del historial de compra" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "El precio histórico de compra anula los descuentos de precios del proveedor" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "Usar precio del artículo de almacén" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Usar los precios de los datos de inventario introducidos manualmente para los cálculos de precios" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "Edad del precio del artículo de almacén" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Excluir artículos de almacén anteriores a este número de días de los cálculos de precios" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "Usar precios variantes" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "Incluir variantes de precios en los cálculos generales de precios" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "Solo variantes activas" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "Usar solo partes de variantes activas para calcular los precios de variantes" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "Intervalo de reconstrucción de precios" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "Número de días antes de que el precio de la parte se actualice automáticamente" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Precios internos" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "Habilitar precios internos para partes" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Anulación del precio interno" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "Si está disponible, los precios internos anulan los cálculos del rango de precios" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Habilitar impresión de etiquetas" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Habilitar impresión de etiquetas desde la interfaz web" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "PPP de la imagen de etiqueta" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Resolución DPI al generar archivos de imagen que suministrar para etiquetar complementos de impresión" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Habilitar informes" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Habilitar generación de informes" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Modo de depuración" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "Generar informes en modo de depuración (salida HTML)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "Registrar errores de reportes" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "Registrar errores ocurridos al generar reportes" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Tamaño de página" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Tamaño de página predeterminado para informes PDF" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "Seriales únicos globalmente" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "Los números de serie para los artículos de inventario deben ser únicos globalmente" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "Eliminar existencias agotadas" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "Determina el comportamiento por defecto al agotarse un artículo del inventario" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "Plantilla de código de lote" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "Plantilla para generar códigos de lote por defecto para artículos de almacén" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "Expiración de stock" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "Habilitar la funcionalidad de expiración de stock" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "Vender existencias caducadas" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "Permitir venta de existencias caducadas" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "Tiempo histórico de Stock" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "Número de días de artículos de stock se consideran obsoletos antes de caducar" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "Crear Stock Caducado" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "Permitir crear con stock caducado" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "Control de Stock" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "Habilitar control de propiedad sobre ubicaciones de stock y artículos" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "Icono por defecto de ubicación de almacén" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "Icono por defecto de ubicación de almacén (vacío significa que no hay icono)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "Mostrar Articulos de Stock Instalados" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "Mostrar los artículos de stock instalados en las tablas de stock" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "Revisar BOM al instalar artículos" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Los elementos de stock instalados deben existir en la BOM para la parte padre" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "Permitir transferencia Sin Existencias" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Permitir que artículos del inventario sin existencias puedan ser transferidos entre ubicaciones de inventario" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "Patrón de Referencia de Ordenes de Armado" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Ensamblado" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "Requerir Dueño Responsable" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "Se debe asignar un dueño responsable a cada orden" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "Requerir Parte Activa" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "Impedir la creación de órdenes de fabricación para partes inactivas" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "Requerir Parte Bloqueada" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "Impedir la creación de órdenes de fabricación para partes bloqueadas" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "Impedir la creación de órdenes de fabricación a menos que se haya validado la lista de materiales" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "Prevenir la finalización de la orden de construcción hasta que todas las órdenes hijas estén cerradas" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "Bloquear hasta que los Tests pasen" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Evitar que las construcciones sean completadas hasta que todas las pruebas requeridas pasen" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "Habilitar órdenes de devolución" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "Habilitar la funcionalidad de orden de devolución en la interfaz de usuario" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "Patrón de referencia de orden de devolución" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "Patrón requerido para generar el campo de referencia de devolución de la orden" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "Editar ordenes de devolución completadas" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "Permitir la edición de ordenes de devolución después de que hayan sido completados" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "Patrón de Referencia de Ordenes de Venta" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la orden de venta" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "Envío Predeterminado de Ordenes de Venta" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar la creación de envío predeterminado con ordenes de entrega" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "Editar Ordenes de Venta Completados" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Permitir la edición de ordenes de venta después de que hayan sido enviados o completados" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "Marcar pedidos enviados como completados" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Los pedidos marcados como enviados se completarán automáticamente, evitando el estado de \"envío\"" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "Patrón de Referencia de Orden de Compra" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "Patrón requerido para generar el campo de referencia de la Orden de Compra" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "Editar Ordenes de Compra Completados" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Permitir la edición de órdenes de venta después de que hayan sido enviados o completados" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "Autocompletar Ordenes de compra" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Marcar automáticamente las órdenes de compra como completas cuando se reciben todos los artículos de línea" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Habilitar función de contraseña olvidada" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Activar la función olvido de contraseña en las páginas de inicio de sesión" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Habilitar registro" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Activar auto-registro para usuarios en las páginas de inicio de sesión" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "Habilitar SSO" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "Habilitar SSO en las páginas de inicio de sesión" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "Habilitar registro SSO" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Activar autoregistro a través de SSO para usuarios en las páginas de inicio de sesión" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "Habilitar sincronización de grupo SSO" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "Habilitar la sincronización de grupos de Inventree con grupos proporcionados por el IdP" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "Clave de grupo SSO" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "El nombre del atributo reclamado por el grupo proporcionado por el IdP" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "Mapa del grupo SSO" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "Un mapeo de grupos SSO a grupos de Inventree locales. Si el grupo local no existe, se creará." -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "Eliminar grupos fuera de SSO" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "Email requerido" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "Requiere usuario para suministrar correo al registrarse" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "Auto-rellenar usuarios SSO" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "Rellenar automáticamente los datos de usuario de la cuenta SSO" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "Correo dos veces" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "Al registrarse pregunte dos veces a los usuarios por su correo" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Contraseña dos veces" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "Al registrarse, preguntar dos veces a los usuarios por su contraseña" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Dominios permitidos" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Restringir el registro a ciertos dominios (separados por comas, comenzando por @)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Grupo al registrarse" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "Grupo al que se asignan nuevos usuarios al registrarse. Si la sincronización de grupo SSO está activada, este grupo sólo se establece si no se puede asignar ningún grupo desde el IdP." -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "Forzar MFA" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "Los usuarios deben utilizar seguridad multifactor." -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "Comprobar complementos al iniciar" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Comprobar que todos los complementos están instalados en el arranque - habilitar en entornos de contenedores" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "Revisar actualizaciones del plugin" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "Habilitar comprobaciones periódicas para actualizaciones de plugins instalados" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "Habilitar integración de URL" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "Habilitar plugins para añadir rutas de URL" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "Habilitar integración de navegación" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "Habilitar plugins para integrar en la navegación" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "Habilitar integración de la aplicación" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "Habilitar plugins para añadir aplicaciones" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "Habilitar integración de programación" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "Habilitar plugins para ejecutar tareas programadas" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "Habilitar integración de eventos" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "Habilitar plugins para responder a eventos internos" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "Habilitar integración de interfaz" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "Habilitar complementos para integrar en la interfaz de usuario" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "Funcionalidad de inventario" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Habilite la funcionalidad de inventario para registrar los niveles de existencias y calcular el valor de las existencias" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "Excluir Ubicaciones Externas" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Excluir artículos en existencia en ubicaciones externas de los cálculos de inventario" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "Periodo de inventario automático" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Número de días entre el registro automático del inventario (establecer en cero para desactivarlo)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "Intervalo de borrado de informe" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Los informes de inventario se eliminarán después de un número de días especificado" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "Mostrar nombres completos de los usuarios" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "Mostrar nombres completos de usuarios en lugar de nombres de usuario" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "Habilitar datos de estación de prueba" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "Habilitar la recolección de datos de estaciones de prueba para resultados de prueba" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "Crear plantilla al subir" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "Crear una nueva plantilla de prueba al subir datos de prueba que no coincidan con una plantilla existente" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar fechas" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Planificación de partes" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "Recibir reportes de error" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "Recibir notificación de errores del sistema" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "Últimas impresoras usadas" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Fabricante" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Empresa" @@ -3513,331 +3638,331 @@ msgstr "Empresa" msgid "Has Stock" msgstr "Tiene existencias" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Empresas" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Descripción de la empresa" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "Descripción de la empresa" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Página web" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "URL del sitio web de la empresa" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Teléfono" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Teléfono de contacto" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Correo electrónico de contacto" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Contacto" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "Punto de contacto" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "Enlace a información externa de la empresa" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "¿Esta empresa está activa?" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "¿Es cliente?" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "¿Vendes artículos a esta empresa?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "¿Es proveedor?" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "¿Compras artículos de esta empresa?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "¿Es productor?" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "¿Esta empresa fabrica partes?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "Moneda predeterminada utilizada para esta empresa" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Dirección" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Direcciones" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Seleccionar empresa" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "Título de dirección" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "Título que describe la entrada de dirección" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Dirección principal" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Establecer como dirección principal" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "Línea 1" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "Dirección línea 1" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "Línea 2" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "Dirección línea 2" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Código postal" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Ciudad/región" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "Código postal de ciudad/región" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "Estado/provincia" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "Estado o provincia" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "País" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "Dirección de país" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "Notas de envío de mensajería" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "Notas para el mensajero de envío" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "Notas de envío internas" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "Notas de envío para uso interno" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "Enlace a información de dirección (externa)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Parte del fabricante" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Parte base" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Seleccionar parte" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Seleccionar fabricante" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Número de parte de fabricante" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "URL para el enlace de parte del fabricante externo" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "Descripción de la parte del fabricante" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Nombre del parámetro" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Valor del parámetro" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Unidades" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Unidades de parámetro" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "Las unidades de paquete deben ser compatibles con las unidades de partes de base" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "Las unidades de paquete deben ser mayor que cero" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "La parte vinculada del fabricante debe hacer referencia a la misma parte base" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Proveedor" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "Unidad de mantenimiento de stock de proveedores" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Seleccionar parte del fabricante" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "URL del enlace de parte del proveedor externo" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "Descripción de la parte del proveedor" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Nota" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "costo base" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Paquetes" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "Embalaje de partes" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "Cantidad de paquete" -#: company/models.py:858 +#: company/models.py:891 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:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "múltiple" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "Pedido múltiple" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "Cantidad disponible del proveedor" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "Disponibilidad actualizada" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "Fecha de última actualización de los datos de disponibilidad" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "Moneda predeterminada utilizada para este proveedor" msgid "Company Name" msgstr "Nombre de la empresa" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "En Stock" @@ -3889,10 +4014,6 @@ msgstr "Información adicional de estado para este artículo" msgid "Custom status key" msgstr "Clave personalizada de estado" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Clave" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "Datos de la fila original" msgid "Errors" msgstr "Errores" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "Válido" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "Referencia del pedido" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Estado" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "La cantidad debe ser un número positivo" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "Recibido" msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "Precio de Compra" @@ -4850,11 +4971,11 @@ msgstr "Combinar artículos" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "SKU" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "Número de parte interna" @@ -5046,130 +5167,114 @@ msgstr "Reembolso" msgid "Reject" msgstr "Rechazo" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "Orden de compra atrasada" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "La orden de compra {po} está atrasada" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "Orden de venta atrasada" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "La orden de venta {so} está atrasada" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "Favoritos" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "Profundidad" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "Filtrar por profundidad de categoría" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "Nivel superior" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "Filtrar por categorías de nivel superior" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "En cascada" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "Tiene resultados" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "Orden de compra entrante" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "Orden de venta saliente" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "Validación de Lista de Materiales" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "Esta opción debe ser seleccionada" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "Icono (opcional)" 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:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Partes" @@ -5335,7 +5440,7 @@ msgstr "Palabras clave para mejorar la visibilidad en los resultados de búsqued msgid "Part category" msgstr "Categoría de parte" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -5344,7 +5449,7 @@ msgstr "IPN" msgid "Part revision or version number" msgstr "Revisión de parte o número de versión" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Revisión" @@ -5376,7 +5481,7 @@ msgstr "Expiración por defecto" 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:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Stock mínimo" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Fecha" @@ -5713,7 +5818,7 @@ msgstr "Descripción de prueba" msgid "Enter description for this test" msgstr "Introduce la descripción para esta prueba" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Habilitado" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "Moneda de compra de ítem de stock" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "Cantidad especulativa" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "ID del modelo" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "Parte original" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "Seleccione la parte original a duplicar" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Copiar Imagen" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "Copiar imagen desde la parte original" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "Copiar BOM" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "Copiar la factura de materiales de la parte original" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "Copiar Parámetros" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "Copiar datos del parámetro de la parte original" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "Cantidad Inicial de Stock" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "Número de parte del fabricante" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "La empresa seleccionada no es un proveedor válido" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "La empresa seleccionada no es un fabricante válido" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Nombre de categoría" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "En construcción" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Elementos de stock" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Proveedores" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Inventario Total" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "Stock Inicial" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "Crear Parte con cantidad inicial de stock" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "Imagen Existente" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "El archivo de imagen no existe" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "Puede construir" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Generar informe" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "Actualizar partes" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Falló la comprobación en segundo plano del worker" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Precio mínimo" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "Anular el valor calculado para precio mínimo" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "Precio mínimo de moneda" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Precio máximo" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "Precio máximo de moneda" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "El precio mínimo no debe ser mayor que el precio máximo" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "El precio máximo no debe ser inferior al precio mínimo" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluye artículos BOM que son heredados de partes con plantillas" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "Proporciona soporte nativo para códigos de barras" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "Contribuidores de InvenTree" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "Complemento" msgid "Method" msgstr "Método" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "No se encontró autor" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "El complemento '{p}' no es compatible con la versión actual de InvenTree {v}" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "El complemento requiere al menos la versión {v}" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "El complemento requiere como máximo la versión {v}" @@ -7203,11 +7300,11 @@ msgstr "Numérico" msgid "A numerical setting" msgstr "Una configuración numérica" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "Configuración de Elección" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "Un ajuste con múltiples opciones" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "Activar complemento" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "Activar este complemento" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "Dimensiones de etiqueta inválidas" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "Carta" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "Nombre de la plantilla" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "Adjuntar al modelo al imprimir" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Guardar la salida del informe como un archivo adjunto contra la instancia del modelo enlazado al imprimir" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "Patrón de Nombre de archivo" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Filtros" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "Tamaño de página para reportes PDF" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Ancho [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "Ancho de la etiqueta, especificado en mm" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Altura [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "Altura de la etiqueta, especificada en mm" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "Fragmento" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "Archivo fragmento de informe" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "Descripción de archivo de fragmento" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "Activo" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "Reportar archivo de activos" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "Descripción del archivo de activos" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "Selecciona la plantilla de etiqueta" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "Complemento de impresión" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "Selecciona el complemento a usar para imprimir etiquetas" @@ -7567,6 +7672,8 @@ msgstr "Materiales necesarios" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "Total" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "Lote" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Artículo Stock Informe de prueba" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "Elementos instalados" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Número de serie" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Resultados de la Prueba" @@ -7647,15 +7767,6 @@ msgstr "Ningún resultado (requerido)" msgid "No result" msgstr "Sin resultados" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "Elementos instalados" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Número de serie" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "Ubicación principal" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "Filtrar por ubicación principal" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "Nombre de pieza (insensible a mayúsculas y minúsculas)" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "El nombre de la pieza contiene (insensible a mayúsculas y minúsculas)" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "Nombre de la pieza (expresión regular)" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "IPN de Pieza (insensible a mayúsculas y minúsculas)" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "IPN de pieza contiene (insensible a mayúsculas y minúsculas)" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "IPN de Pieza (expresión regular)" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "Existencias mínimas" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "Existencias máximas" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "Código de estado" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "Ubicación externa" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "Consumido por orden de construcción" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "Instalado en otro artículo de existencias" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "Árbol de piezas" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "Actualizado antes de" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "Actualizado después de" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "Inventario antes de" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "Inventario después de" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "Desactualizado" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "Cantidad requerida" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "Debe suministrarse una parte válida" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "Seleccione una parte del proveedor correspondiente para este artículo d msgid "Where is this stock item located?" msgstr "¿Dónde se encuentra este artículo de stock?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "Empaquetar este artículo de stock se almacena en" @@ -7913,7 +8024,7 @@ msgstr "¿Está este artículo instalado en otro artículo?" msgid "Serial number for this item" msgstr "Número de serie para este artículo" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "Código de lote para este artículo de stock" @@ -7969,136 +8080,136 @@ msgstr "Precio de compra único en el momento de la compra" msgid "Converted to part" msgstr "Convertido a parte" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "La parte no está establecida como rastreable" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "Cantidad debe ser un entero" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "Los números de serie deben ser proporcionados como una lista" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "La cantidad no coincide con los números de serie" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 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:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "Artículo de stock está instalado en otro artículo" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "Artículo de stock contiene otros artículos" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "Artículo de stock ha sido asignado a un cliente" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "El artículo de stock está en producción" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "Stock serializado no puede ser combinado" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "Artículos de Stock Duplicados" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "Los artículos de stock deben referirse a la misma parte" -#: stock/models.py:1921 +#: stock/models.py:1934 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:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "Los códigos de estado del stock deben coincidir" -#: stock/models.py:2196 +#: stock/models.py:2209 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:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "Notas de entrada" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "Debe proporcionarse un valor para esta prueba" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "El archivo adjunto debe ser subido para esta prueba" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Resultado de la prueba" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "Valor de salida de prueba" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "Adjunto de resultados de prueba" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "Notas de prueba" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "Finalizó" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "Número de pieza del proveedor" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "Expirado" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "Elementos secundarios" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "Introduzca el número de artículos de stock para serializar" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La cantidad no debe exceder la cantidad disponible de stock ({q})" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "Introduzca números de serie para nuevos artículos" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "Ubicación de stock de destino" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "Campo de nota opcional" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "Los números de serie no se pueden asignar a esta parte" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "Números de serie ya existen" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "Añadir nota de transacción (opcional)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Sub-ubicación" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "La parte debe ser vendible" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "El artículo está asignado a una orden de venta" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "El artículo está asignado a una orden de creación" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "Cliente para asignar artículos de stock" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "La empresa seleccionada no es un cliente" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "Notas de asignación de stock" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "Debe proporcionarse una lista de artículos de stock" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "Notas de fusión de stock" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "Permitir proveedores no coincidentes" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permitir fusionar artículos de stock con diferentes partes de proveedor" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "Permitir estado no coincidente" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "Permitir fusionar artículos de stock con diferentes códigos de estado" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "Debe proporcionar al menos dos artículos de stock" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "Sin cambios" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "Valor de clave primaria de Stock" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "No hay existencias del artículo" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "Notas de transacción de stock" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po index 724eca420d..1129cc315e 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Language: et_EE\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Teil ei ole selle lehe vaatamiseks luba" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Märkmed" @@ -356,7 +356,7 @@ msgstr "Hiina (traditsiooniline)" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "E-post" @@ -408,19 +408,19 @@ msgstr "" msgid "Invalid choice" msgstr "Vigane valik" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Nimi" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Kirjeldus" msgid "Description (optional)" msgstr "Kirjeldus (valikuline)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Tee" @@ -479,11 +479,11 @@ msgstr "" msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Valuuta" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "" @@ -527,29 +527,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "Osa" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "Määratud" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Valikuline" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Jälgitud" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Saadaval" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "" @@ -854,7 +854,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Kogus" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Asukoht" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Jälgitav" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Saadaval laos" @@ -1391,32 +1392,32 @@ msgstr "Katkestatud" msgid "Complete" msgstr "Valmis" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "On link" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "On fail" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "Pluginat pole" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Uuendatud" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "Seade võti" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Seade väärtus" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "ID" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Pealkiri" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Avaldatud" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Autor" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Kokkuvõte" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Loetud" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Pilt" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Pildifail" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "Ühiku nimi" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Sümbol" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Definitsioon" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Ühiku definitsioon" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Manus" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Puuduv fail" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Puuduv väline link" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Vali fail, mida lisada" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Kommentaar" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "Faili suurus" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "Silt" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Loodud" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Andmed" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "Vöötkoodi andmed" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Kontekst" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "Vastus" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Tulemus" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Võti" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Ülesande nimi" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Funktsioon" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Funktsiooni nimi" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Argumendid" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Ülesande argumendid" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Failinimi" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "Mudeli liik" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "Grupp puudub" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Taaskäivitamine on vajalik" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Ettevõtte nimi" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "päeva" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Automaatne varundus" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Vöötkoodi tugi" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Mall" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Komponent" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Ostetav" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Virtuaalne" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Lehe suurus" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "Luba liidese integreerimine" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "Luba pluginatel integreeruda kasutajaliidesesse" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "Loo uus testimall testandmete üleslaadimisel, mis ei vasta olemasolevale mallile" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Tootja" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Ettevõte" @@ -3513,331 +3638,331 @@ msgstr "Ettevõte" msgid "Has Stock" msgstr "Laos" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Ettevõtted" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Ettevõtte kirjeldus" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "Ettevõtte kirjeldus" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Veebileht" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "Ettevõtte veebilehe aadress" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Telefoninumber" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Kontakttelefoni number" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Kontakt e-postiaadress" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Aadress" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Aadressid" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Vali ettevõte" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Peamine aadress" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Määra peamine aadress" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "Rida 1" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "Aadressi rida 1" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "Rida 2" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "Aadressi rida 2" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Postiindeks" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Linn/Piirkond" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "Riik" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Tarnija" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Vali tarnija" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Märkus" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Võti" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "Kohandatud" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Staatus" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "Tootekood" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "Tagasimakse" msgid "Reject" msgstr "Keeldu" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "Sügavus" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "Ikoon (valikuline)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Osad" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "Osa kategooria" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Minimaalne laoseis" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "Originaalosa" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Kopeeri pilt" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "Kopeeri parameetrid" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Kategooria nimi" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "Ehitamine" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Tarnijad" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "Tarnija info" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Minimaalne hind" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Maksimaalne hind" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Uuenda" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "Piirjoon" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "Plugin" msgid "Method" msgstr "Meetod" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "Autorit ei leitud" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "Lisa mudelile printimisel" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Salvesta aruande väljund manusega seotud mudeli eksemplari juurde printimisel" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Filtrid" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "Mallifaili" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Testitulemused" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "Tarnija osa number" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index 2aafb46ad8..146c043f5a 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "قبل از انجام هر کار دیگری باید احراز هویت دو مرحله ای را فعال کنید." -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "Address e API peida nashod" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "لیست اقلام یا فیلترها باید برای عملیات انبوه ارائه شود" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "موارد باید به صورت لیست ارائه شود" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "لیست موارد نامعتبر ارائه شده است" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "فیلترها باید به صورت دستوری ارائه شوند" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "فیلترهای نامعتبر ارائه شده است" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "تمامی فیلترها باید منحصراً با مقدار true مورد استفاده قرار گیرند" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "هیچ موردی با معیارهای ارائه شده مطابقت ندارد" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "کاربر سطح دسترسی نمایش این مدل را ندارد" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "مقدار اعشاری نامعتبر است" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "یادداشت" @@ -356,7 +356,7 @@ msgstr "چینی (سنتی)" msgid "Log in to the app" msgstr "وارد برنامه شوید" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "ایمیل" @@ -408,19 +408,19 @@ msgstr "نام‌های تکراری نمی‌توانند تحت یک والد msgid "Invalid choice" msgstr "انتخاب نامعتبر" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "نام" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "توضیحات" msgid "Description (optional)" msgstr "توضیحات (اختیاری)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "مسیر" @@ -479,11 +479,11 @@ msgstr "یک خطا توسط سرور ثبت شده است." msgid "Must be a valid number" msgstr "باید یک عدد معتبر باشد" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "ارز" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "ارز را از گزینه های موجود انتخاب کنید" @@ -527,29 +527,29 @@ msgstr "ارزش اضافه نباید از 100٪ تجاوز کند" msgid "Invalid value for overage" msgstr "" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "وضعیت سفارش" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "قطعه" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "دسته" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "واگذار شده به من" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "صادر شده توسط" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "واگذار شده به" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "ایجاد شده قبل از" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "ایجاد شده بعد از" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "دارای تاریخ شروع" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "تاریخ شروع قبل از" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "تاریخ شروع بعد از" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "دارای تاریخ موعد" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "تاریخ موعد قبل از" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "تاریخ موعد بعد از" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "تکمیل شده قبل از" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "تکمیل شده بعد از" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "مصرفی" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "اختیاری" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "مونتاژ" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "سفارش معوق" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "اختصاص داده شده" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "در دسترس" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "" @@ -854,7 +854,7 @@ msgstr "صادر شده توسط" msgid "User who issued this build order" msgstr "کاربری که این سفارش ساخت را صادر کرده است" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "" msgid "Complete" msgstr "" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3513,331 +3638,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index 29469eaa8f..7ddb403f74 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API-rajapintaa ei löydy" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Käyttäjän oikeudet eivät riitä kohteen tarkastelemiseen" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Merkinnät" @@ -356,7 +356,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "Sähköposti" @@ -408,19 +408,19 @@ msgstr "" msgid "Invalid choice" msgstr "Virheellinen valinta" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Nimi" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Kuvaus" msgid "Description (optional)" msgstr "Kuvaus (valinnainen)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Polku" @@ -479,11 +479,11 @@ msgstr "" msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Valuutta" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Valitse valuutta käytettävissä olevista vaihtoehdoista" @@ -527,29 +527,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "Osa" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Kategoria" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Saatavilla" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "" @@ -854,7 +854,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "Ulkoinen linkki" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Linkki ulkoiseen URLiin" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Määrä" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Varastotuote" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Sarjanumerot" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Sijainti" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Seurattavissa" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "Peruttu" msgid "Complete" msgstr "Valmis" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Päivitetty" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Viimeisimmän päivityksen aikaleima" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "Käyttäjä" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Hinta" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktiivinen" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Salaisuus" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "Isäntä" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Otsikko" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Linkki" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Julkaistu" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Julkaisija" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Yhteenveto" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Kuva" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Kuvatiedosto" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Liite" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Puuttuva tiedosto" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Puuttuva ulkoinen linkki" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Valitse liitettävä tiedosto" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Kommentti" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Arvo" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Avain" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Tiedostonimi" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "Ei ryhmää" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Uudelleenkäynnistys vaaditaan" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Yrityksen nimi" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Yrityksen sisäinen nimi" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Oletusvaluutta" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "päivää" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Automaattinen varmuuskopionti" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Ota käyttöön tietokannan ja mediatiedostojen automaattinen varmuuskopiointi" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Automaattisen varmuuskopioinnin aikaväli" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Viivakoodituki" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Komponentti" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Ostettavissa" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Sisäiset hinnat" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Sisäisen hinnan ohitus" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Sivun koko" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Salli salasananpalautus" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Salli rekisteröinti" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "Salli SSO" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "Salli SSO kirjautumissivuilla" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "Salli SSO rekisteröinti" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "Sähköposti vaaditaan" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "Sähköpostiosoite kahdesti" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Salasana kahdesti" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Sallitut verkkotunnukset" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "Pakota MFA" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Valmistaja" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Yritys" @@ -3513,331 +3638,331 @@ msgstr "Yritys" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Yritykset" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Yrityksen kuvaus" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Sivusto" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "Yrityksen sivuston URL" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Puhelinnumero" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Kontakti" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Osoite" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Valitse valmistaja" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Valmistajan osanumero" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Toimittaja" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Valitse toimittaja" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "Toimittajan varastonimike" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Valitse valmistajan osa" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Muistiinpano" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Avain" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "Tilauksen viite" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Tila" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "Vastaanotettu" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "Kuvake (valinnainen)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Päivämäärä" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Käytössä" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Luo raportti" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "Numeerinen" msgid "A numerical setting" msgstr "Numeerinen asetus" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Suodattimet" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Leveys [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Korkeus [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Sarjanumero" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Sarjanumero" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index f6b3e0dd52..33dad0ba96 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-19 11:46\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "Vous devez activer l'authentification à deux facteurs avant toute autre chose." -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "Point de terminaison de l'API introuvable" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "Liste des éléments ou des filtres à fournir pour les opérations en vrac" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "Les éléments doivent être fournis sous forme de liste" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "Liste d'éléments non valide fournie" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "Les filtres doivent être fournis sous forme de dictionnaire" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "Filtres fournis invalides" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "Tous les filtres ne doivent être utilisés qu'avec \"true\"" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "Aucun élément ne correspond aux critères fournis" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "L'utilisateur n'a pas la permission de voir ce modèle" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "Valeur décimale invalide" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Notes" @@ -158,7 +158,7 @@ msgstr "Aucun numéro de série trouvé" #: InvenTree/helpers.py:723 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" -msgstr "" +msgstr "Le nombre de numéros de série uniques ({n}) doit correspondre à la quantité ({q})" #: InvenTree/helpers.py:841 msgid "Remove HTML tags from this value" @@ -356,7 +356,7 @@ msgstr "Chinois (Traditionnel)" msgid "Log in to the app" msgstr "Se connecter à l'application" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "E-mail" @@ -408,19 +408,19 @@ msgstr "Les noms dupliqués ne peuvent pas exister sous le même parent" msgid "Invalid choice" msgstr "Choix invalide" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Nom" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Description" msgid "Description (optional)" msgstr "Description (facultative)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Chemin d'accès" @@ -479,11 +479,11 @@ msgstr "Une erreur a été loguée par le serveur." msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Devise" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Sélectionnez la devise à partir des options disponibles" @@ -527,29 +527,29 @@ msgstr "Le surplus ne doit pas dépasser 100%" msgid "Invalid value for overage" msgstr "Valeur invalide pour le dépassement" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Statut de la commande" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Fabrication parente" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "Inclure les variantes" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "Inclure les variantes" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "Inclure les variantes" msgid "Part" msgstr "Pièce" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Catégorie" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "Version Précédente" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "Attribué à moi" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Émis par" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "Attribué à" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "Créé avant" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "Créé après" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "A une date de début" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "Date de début avant" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "Date de début après" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "A une date butoir" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "Date cible avant" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "Date cible après" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "Terminé avant" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "Terminé après" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "Date min" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "Date maximale" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "Exclure l'arbre" -#: build/api.py:409 +#: build/api.py:411 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:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Consommable" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Facultatif" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Assemblage" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Suivi" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Testable" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "Commande en cours" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Allouée" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Disponible" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -712,7 +712,7 @@ msgstr "Choix invalide pour la fabrication parente" #: build/models.py:198 msgid "Build orders can only be externally fulfilled for purchaseable parts" -msgstr "" +msgstr "Les ordres de fabrication ne peuvent être exécutées qu'en externe pour les pièces achetables" #: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" @@ -770,7 +770,7 @@ msgstr "Sélectionner l'emplacement à partir duquel le stock doit être pris po #: build/models.py:299 msgid "External Build" -msgstr "" +msgstr "Fabrication externe" #: build/models.py:300 msgid "This build order is fulfilled externally" @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Code de statut de construction" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Code de lot" @@ -854,7 +854,7 @@ msgstr "Émis par" msgid "User who issued this build order" msgstr "Utilisateur ayant émis cette commande de construction" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Utilisateur ou groupe responsable de cet ordre de construction" msgid "External Link" msgstr "Lien Externe" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Lien vers une url externe" @@ -881,7 +881,7 @@ msgstr "Priorité de fabrication" msgid "Priority of this build order" msgstr "Priorité de cet ordre de fabrication" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Code du projet" @@ -903,51 +903,50 @@ msgstr "La commande de construction {build} a été effectuée" msgid "A build order has been completed" msgstr "Une commande de construction a été effectuée" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "Les numéros de série doivent être fournis pour les pièces traçables" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Pas d'ordre de production défini" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "L'ordre de production a déjà été réalisé" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "La quantité ne peut pas être supérieure à la quantité de sortie" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "La sortie de compilation {serial} n'a pas réussi tous les tests requis" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "Poste de l'ordre de construction" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Création de l'objet" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Création de l'objet" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Quantité" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Quantité requise pour la commande de construction" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "La quantité doit être de 1 pour stock sérialisé" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "L'article de stock sélectionné ne correspond pas à la ligne BOM" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Article en stock" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Stock d'origine de l'article" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Quantité de stock à allouer à la construction" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Installer dans" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Stock de destination de l'article" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Quantité entière requise, car la facture de matériaux contient des pièces à puce" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Numéros de série" @@ -1070,10 +1071,10 @@ msgstr "Entrer les numéros de séries pour la fabrication" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Emplacement" @@ -1089,8 +1090,8 @@ 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:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" @@ -1222,7 +1223,7 @@ msgstr "Élément de la ligne de construction" 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:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "L'article doit être en stock" @@ -1299,13 +1300,13 @@ msgstr "Nomenclature Nom de la pièce" msgid "Build" msgstr "Construire" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "Pièce fournisseur" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "Quantité allouée" @@ -1317,7 +1318,7 @@ msgstr "Référence de construction" msgid "Part Category Name" msgstr "Nom de la catégorie de pièces" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Traçable" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "Autoriser les variantes" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "Article du BOM" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "Stock alloué" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "En Commande" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "En Production" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "Stock externe" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Stock disponible" @@ -1391,32 +1392,32 @@ msgstr "Annulé" msgid "Complete" msgstr "Terminé" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "Stock requis pour la commande de construction" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "Ordre de commande en retard" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "L'ordre de commande {bo} est maintenant en retard" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "C'est un lien" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "C'est un fichier" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "L'utilisateur n'a pas les permissions de supprimer cette pièce jointe" @@ -1436,61 +1437,61 @@ msgstr "Aucun code de devise valide fourni" msgid "No plugin" msgstr "Pas de plugin" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Mise à jour" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Date de la dernière mise à jour" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Code projet unique" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Description du projet" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "Utilisateur ou groupe responsable de ce projet" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "Paramétrés des touches" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Valeur du paramètre" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "La valeur choisie n'est pas une option valide" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "La valeur doit être une valeur booléenne" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "La valeur doit être un nombre entier" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "Valeur doit être un nombre valide" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "La valeur ne passe pas les contrôles de validation" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "La chaîne de caractères constituant la clé doit être unique" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "La chaîne de caractères constituant la clé doit être unique" msgid "User" msgstr "Utilisateur" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "Quantité de rupture de prix" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Prix" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "Prix unitaire à la quantité spécifiée" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Point final" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "Point de terminaison auquel ce webhook est reçu" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "Nom de ce webhook" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Actif" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "Ce webhook (lien de rappel HTTP) est-il actif" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "Jeton" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "Jeton d'accès" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Confidentiel" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "Secret partagé pour HMAC" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "ID message" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "Identifiant unique pour ce message" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "Hôte" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "Hôte à partir duquel ce message a été reçu" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Entête" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "En-tête de ce message" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Corps" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "Corps de ce message" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "Endpoint à partir duquel ce message a été reçu" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "Travaillé sur" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "Le travail sur ce message est-il terminé ?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "Id" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Titre" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Lien" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Publié" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Auteur" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Résumé" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Lu" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "Cette nouvelle a-t-elle été lue ?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Image" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Fichier image" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "Type de modèle cible pour cette image" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "ID du modèle cible pour cette image" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "Unité personnalisée" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "Le symbole de l'unité doit être unique" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "Le nom de l'unité doit être un identifiant valide" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "Nom de l'unité" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Symbole" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "Symbole d'unité facultatif" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Définition" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Définition de l'unité" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Pièce jointe" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Fichier manquant" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Lien externe manquant" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "Type de modèle" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "Type de modèle cible pour l'image" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Sélectionnez un fichier à joindre" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Commentaire" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "Commentaire sur la pièce jointe" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "Date de téléchargement" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "Date de téléchargement du fichier" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "Taille du fichier" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "Taille du fichier en octets" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "Type de modèle non valide spécifié pour la pièce jointe" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "État personnalisé" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "États membres de l'Union européenne" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "Ensemble d'états de référence" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "Ensemble d'états étendu à cet état personnalisé" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Clé logique" -#: common/models.py:2032 +#: common/models.py:2041 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:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Valeur" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "Valeur numérique qui sera enregistrée dans la base de données des modèles" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "Nom de l'Etat" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "Étiquette" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "Etiquette qui sera affichée dans le frontend" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "Couleur" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "Couleur qui sera affichée dans le frontend" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "Modèle" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "Modèle cet état est associé à" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "Le modèle doit être sélectionné" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "La clé doit être sélectionnée" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "La clé logique doit être sélectionnée" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "La clé doit être différente de la clé logique" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "Une classe de statut de référence valide doit être fournie" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "La clé doit être différente des clés logiques de l'état de référence" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "La clé logique doit se trouver dans les clés logiques de l'état de référence" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "Le nom doit être différent des noms des statuts de référence" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "Liste de sélection" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "Listes de sélection" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "Nom de la liste de sélection" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "Description de la liste de sélection" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "Verrouillé" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "Cette liste de sélection est-elle verrouillée ?" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "Cette liste de sélection peut-elle être utilisée ?" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "Plug-in source" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "Plugin qui fournit la liste de sélection" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "Chaîne source" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "Chaîne facultative identifiant la source utilisée pour cette liste" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "Entrée par défaut" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "Entrée par défaut pour cette liste de sélection" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Créé le" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "Date et heure de création de la liste de sélection" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Dernière mise à jour" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "Date et heure de la dernière mise à jour de la liste de sélection" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "Entrée de la liste de sélection" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "Entrées de la liste de sélection" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "Liste de sélection à laquelle appartient cette entrée" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "Valeur de l'entrée de la liste de sélection" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "Étiquette pour l'entrée de la liste de sélection" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "Description de l'entrée de la liste de sélection" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "Cette entrée de la liste de sélection est-elle active ?" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "Analyse du code-barres" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Données" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "Données du code-barres" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "Utilisateur qui a scanné le code-barres" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "Horodatage" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "Date et heure du scan de code-barres" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "Point d'accès à l'URL qui a traité le code-barres" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Contexte" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "Données contextuelles pour la lecture du code-barres" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "Réponse" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "Données de réponse provenant de la lecture du code-barres" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Résultat" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "La lecture du code-barres a-t-elle réussi ?" +#: common/models.py:2469 +msgid "Email Message" +msgstr "Message email" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "Messages email" + +#: common/models.py:2477 +msgid "Announced" +msgstr "Annoncé" + +#: common/models.py:2479 +msgid "Sent" +msgstr "Envoyé" + +#: common/models.py:2480 +msgid "Failed" +msgstr "Échec" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "Livré" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "Confirmé" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "Sans réponse" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "Suivi de livraison" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "ID Global" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Clé" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "En cours d'exécution" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "Tâches en attente" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Tâches planifiées" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Tâches échouées" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "ID de la tâche" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "ID unique de la tâche" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "Verrouillé" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Heure verrouillé" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Nom de la tâche" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Fonction" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Nom de la fonction" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Arguments" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Arguments tâche" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "Mots-clés Arguments" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "Mots-clés arguments tâche" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Nom du fichier" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "Type de modèle" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "L'utilisateur n'a pas le droit de créer ou de modifier des pièces jointes pour ce modèle" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "La liste de sélection est verrouillée" @@ -2104,1073 +2221,1089 @@ msgstr "Pas de groupe" msgid "Site URL is locked by configuration" msgstr "L'URL du site est verrouillée par configuration" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Redémarrage nécessaire" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "Un paramètre a été modifié, ce qui nécessite un redémarrage du serveur" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Migration en attente" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "Nombre de migrations de base de données en attente" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "ID de l'instance" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "Identifiant unique pour cette instance InvenTree" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "Annoncer l'ID" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "Annoncer l'ID d'instance du serveur dans l'info sur l'état du serveur (non authentifié)" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Nom de l'instance du serveur" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "Chaîne de caractères descriptive pour l'instance serveur" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Utiliser le nom de l'instance" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "Utiliser le nom de l’instance dans la barre de titre" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "Limiter l'affichage de `about`" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "Afficher la modale `about` uniquement aux super-utilisateurs" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Nom de la société" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Nom de société interne" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "URL de base" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "URL de base pour l'instance serveur" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Devise par défaut" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "Sélectionnez la devise de base pour les calculs de prix" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "Devises supportées" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "Liste des codes de devises supportés" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "Intervalle de mise à jour des devises" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Fréquence de mise à jour des taux de change (définir à zéro pour désactiver)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "jours" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "Plugin de mise à jour de devise" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "Plugin de mise à jour des devises à utiliser" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Télécharger depuis l'URL" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Autoriser le téléchargement d'images distantes et de fichiers à partir d'URLs externes" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "Limite du volume de téléchargement" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "Taille maximale autorisée pour le téléchargement de l'image distante" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "Agent utilisateur utilisé pour télécharger depuis l'URL" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Permettre de remplacer l'agent utilisateur utilisé pour télécharger des images et des fichiers à partir d'URL externe (laisser vide pour la valeur par défaut)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "Validation stricte d'URL" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "Spécification du schéma nécessaire lors de la validation des URL" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Intervalle de vérification des mises à jour" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "À quelle fréquence vérifier les mises à jour (définir à zéro pour désactiver)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Backup automatique" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Activer le backup automatique de la base de données et des fichiers médias" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Intervalle de sauvegarde automatique" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Spécifiez le nombre de jours entre les sauvegardes automatique" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "Intervalle de suppression des tâches" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "Les résultats de la tâche en arrière-plan seront supprimés après le nombre de jours spécifié" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "Intervalle de suppression du journal d'erreur" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "Les logs d'erreur seront supprimés après le nombre de jours spécifié" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "Intervalle de suppression du journal de notification" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Les notifications de l'utilisateur seront supprimées après le nombre de jours spécifié" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Support des code-barres" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "Activer le support du scanner de codes-barres dans l'interface web" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "Résultats des codes-barres des magasins" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "Stocker les résultats de la lecture du code-barres dans la base de données" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "Scanners de codes-barres Comptage maximal" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "Nombre maximum de résultats de lecture de codes-barres à stocker" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "Délai d'entrée du code-barres" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "Délai de traitement du code-barres" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "Prise en charge de la webcam code-barres" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "Autoriser la numérisation de codes-barres via la webcam dans le navigateur" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "Code-barres Afficher les données" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "Afficher les données du code-barres dans le navigateur sous forme de texte" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "Plugin de génération de codes-barres" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "Plugin à utiliser pour la génération interne de données de code-barres" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "Modifications de la pièce" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "Activer le champ de modification de la pièce" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "Révision de l'assemblage uniquement" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "N'autoriser les révisions que pour les pièces d'assemblage" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "Autoriser la suppression de l'Assemblée" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "Permettre la suppression de pièces utilisées dans un assemblage" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "Regex IPN" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "Expression régulière pour la correspondance avec l'IPN de la Pièce" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Autoriser les IPN dupliqués" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "Permettre à plusieurs pièces de partager le même IPN" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "Autoriser l'édition de l'IPN" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "Permettre de modifier la valeur de l'IPN lors de l'édition d'une pièce" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Copier les données de la pièce" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "Copier les données des paramètres de la pièce" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "Copier les données des paramètres par défaut lors de la duplication d'une pièce" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "Copier les données de test de la pièce" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "Copier les données de test par défaut lors de la duplication d'une pièce" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "Copier les templates de paramètres de catégorie" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "Copier les templates de paramètres de la catégorie lors de la création d'une pièce" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Modèle" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "Les pièces sont des templates par défaut" -#: common/setting/system.py:430 +#: common/setting/system.py:443 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:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Composant" -#: common/setting/system.py:436 +#: common/setting/system.py:449 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:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Achetable" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "Les pièces sont achetables par défaut" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Vendable" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "Les pièces sont vendables par défaut" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "Les pièces sont traçables par défaut" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Virtuelle" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Les pièces sont virtuelles par défaut" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Afficher les pièces connexes" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Afficher les pièces connexes à une pièce" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "Stock initial" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "Permettre la création d'un stock initial lors de l'ajout d'une nouvelle pièce" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "Données initiales du fournisseur" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permettre la création des données initiales du fournisseur lors de l'ajout d'une nouvelle pièce" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Format d'affichage du nom de la pièce" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Format pour afficher le nom de la pièce" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "Icône de catégorie par défaut" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "Icône par défaut de la catégorie de la pièce (vide signifie aucune icône)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "Renforcer les unités des paramètres" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "Si des unités sont fournies, les valeurs de paramètre doivent correspondre aux unités spécifiées" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "Nombre minimal de décimales" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Nombre minimum de décimales à afficher lors de l'affichage des prix" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "Nombre maximal de décimales pour la tarification" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Nombre maximal de décimales à afficher lors du rendu des données de tarification" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Utiliser le prix fournisseur" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inclure les réductions de prix dans le calcul du prix global" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Remplacer l'historique des achats" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "La tarification historique des bons de commande remplace les réductions de prix des fournisseurs" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "Utiliser les prix des articles en stock" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Utiliser les prix des données de stock saisies manuellement pour calculer les prix" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "Âge de tarification des articles de stock" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Exclure les articles en stock datant de plus de ce nombre de jours des calculs de prix" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "Utiliser les prix variants" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "Inclure la tarification variante dans le calcul global des prix" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "Variantes actives uniquement" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "N'utiliser que des pièces de variante actives pour calculer le prix de la variante" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "Intervalle de regénération des prix" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "Nombre de jours avant la mise à jour automatique du prix de la pièce" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Prix internes" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "Activer les prix internes pour les pièces" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Substitution du prix interne" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "Si disponible, les prix internes remplacent les calculs de la fourchette de prix" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Activer l'impression d'étiquettes" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Activer l'impression d'étiquettes depuis l'interface Web" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "Étiquette image DPI" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Résolution DPI lors de la génération de fichiers image pour fournir aux plugins d'impression d'étiquettes" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Activer les rapports" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Activer la génération de rapports" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Mode Débogage" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "Générer des rapports en mode debug (sortie HTML)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "Journal des erreurs" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "Enregistrer les erreurs qui se produisent lors de la génération de rapports" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Taille de la page" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Taille de page par défaut pour les rapports PDF" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "Numéro de Série Universellement Unique" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "Les numéros de série pour les articles en stock doivent être uniques au niveau global" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "Supprimer le stock épuisé" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "Détermine le comportement par défaut lorsqu'un article de stock est épuisé" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "Modèle de code de lot" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "Modèle pour générer des codes par défaut pour les articles en stock" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "Expiration du stock" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "Activer la fonctionnalité d'expiration du stock" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "Vendre le stock expiré" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "Autoriser la vente de stock expiré" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "Délai de péremption du stock" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "Nombre de jours pendant lesquels les articles en stock sont considérés comme périmés avant d'expirer" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "Construction de stock expirée" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "Autoriser la construction avec un stock expiré" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "Contrôle de la propriété des stocks" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "Activer le contrôle de la propriété sur les emplacements de stock et les articles" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "Icône par défaut de l'emplacement du stock" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "Icône par défaut de l'emplacement du stock (vide signifie aucune icône)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "Afficher les pièces en stock installées" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "Affichage des articles en stock installés dans les tableaux de stock" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "Vérifier la nomenclature lors de l'installation des articles" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Les articles de stock installés doivent exister dans la nomenclature de la pièce mère" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "Autoriser le transfert des produits en rupture de stock" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Permettre le transfert d'articles qui ne sont pas en stock d'un magasin à l'autre" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "Modèle de référence de commande de construction" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Modèle requis pour générer le champ de référence de l'ordre de construction" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "Nécessite un Responsable propriétaire" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "Un propriétaire responsable doit être assigné à chaque commande" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "Exiger une partie active" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "Empêcher la création d'un ordre de fabrication pour les pièces inactives" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "Requiert une pièce verrouillée" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "Empêcher la création d'un ordre de fabrication pour les pièces non verrouillées" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "Exiger une nomenclature valide" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "Empêcher la création d'un ordre de fabrication si la nomenclature n'a pas été validée" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "Exiger des ordonnances fermées pour les enfants" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "Empêcher l'achèvement de l'ordre de construction jusqu'à ce que tous les ordres d'enfants soient clôturés" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "Blocage jusqu'à la réussite des tests" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Empêcher l'achèvement des résultats de la construction jusqu'à ce que tous les tests requis soient réussis" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "Activer les retours de commandes" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "Activer la fonctionnalité de retour de commande dans l'interface utilisateur" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "Modèle de référence de retour de commande" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "Modèle requis pour générer le champ de référence de la commande de retour" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "Modifier les retours de commandes terminées" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "Autoriser la modification des retours après leur enregistrement" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "Modèle de référence de bon de commande" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "Modèle requis pour générer le champ de référence du bon de commande" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "Expédition par défaut du bon de commande" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "Activer la création d'expédition par défaut avec les bons de commandes" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "Modifier les commandes de vente terminées" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Autoriser la modification des commandes de vente après avoir été expédiées ou complétées" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "Marquer les commandes expédiées comme achevées" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Les commandes marquées comme expédiées seront automatiquement complétées, en contournant le statut « expédié »" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "Modèle de référence de commande d'achat" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modèle requis pour générer le champ de référence de bon de commande" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "Modifier les bons de commande terminés" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Autoriser la modification des bons de commande après avoir été expédiés ou complétés" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "Convertir la monnaie" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "Convertir la valeur de l'article dans la devise de base lors de la réception du stock" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "Achat automatique des commandes" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Marquer automatiquement les bons de commande comme terminés lorsque tous les articles de la ligne sont reçus" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Activer les mots de passe oubliés" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Activer la fonction \"Mot de passe oublié\" sur les pages de connexion" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Activer les inscriptions" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Activer l'auto-inscription pour les utilisateurs sur les pages de connexion" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "Activer le SSO" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "Activer le SSO sur les pages de connexion" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "Activer l'inscription SSO" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Activer l'auto-inscription via SSO pour les utilisateurs sur les pages de connexion" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "Activer la synchronisation du groupe SSO" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "Permettre la synchronisation des groupes InvenTree avec les groupes fournis par l'IdP" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "Clé du groupe SSO" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "Le nom de l'attribut de revendication de groupe fourni par l'IdP" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "Carte de groupe SSO" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "Une correspondance entre les groupes SSO et les groupes InvenTree locaux. Si le groupe local n'existe pas, il sera créé." -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "Supprimer les groupes en dehors de SSO" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "Indique si les groupes attribués à l'utilisateur doivent être supprimés s'ils ne sont pas gérés par l'IdP. La désactivation de ce paramètre peut entraîner des problèmes de sécurité" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "Email requis" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "Exiger que l'utilisateur fournisse un mail lors de l'inscription" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "Saisie automatique des utilisateurs SSO" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "Remplir automatiquement les détails de l'utilisateur à partir des données de compte SSO" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "Courriel en double" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mail" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Mot de passe deux fois" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "Lors de l'inscription, demandez deux fois aux utilisateurs leur mot de passe" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Domaines autorisés" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Restreindre l'inscription à certains domaines (séparés par des virgules, commençant par @)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Grouper sur inscription" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "Groupe auquel les nouveaux utilisateurs sont assignés lors de l'enregistrement. Si la synchronisation des groupes SSO est activée, ce groupe n'est défini que si aucun groupe ne peut être attribué par l'IdP." -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "Forcer l'authentification multifacteurs" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "Les utilisateurs doivent utiliser l'authentification multifacteurs." -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "Vérifier les plugins au démarrage" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Vérifier que tous les plugins sont installés au démarrage - activer dans les environnements conteneurs" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "Vérifier les mises à jour des plugins" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "Activer les vérifications périodiques pour les mises à jour des plugins installés" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "Activer l'intégration d'URL" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "Autoriser les plugins à ajouter des chemins URL" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "Activer l'intégration de navigation" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "Activer les plugins à s'intégrer dans la navigation" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "Activer l'intégration de plugins" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "Activer l'intégration de plugin pour ajouter des apps" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "Activer l'intégration du planning" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "Autoriser les plugins à éxécuter des tâches planifiées" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "Activer l'intégration des évènements" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "Autoriser les plugins à répondre aux évènements internes" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "Permettre l'intégration de l'interface" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "Permettre aux plugins de s'intégrer dans l'interface utilisateur" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "Activer les codes de projet" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "Activer les codes de projet pour le suivi des projets" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "Fonctionnalité d'inventaire" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Activer la fonctionnalité d'inventaire pour enregistrer les niveaux de stock et le calcul de la valeur du stock" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "Exclure les localisations externes" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Exclure les articles en stock dans des lieux externes des calculs de l'inventaire" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "Période de l'inventaire automatique" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Nombre de jours entre l'enregistrement automatique des stocks (définir à zéro pour désactiver)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "Intervalle de suppression des tâches" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Les rapports d'inventaire seront supprimés après le nombre de jours spécifié" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "Afficher les noms des utilisateurs" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "Afficher les noms complets des utilisateurs au lieu des noms d'utilisateur" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "Afficher les profils d'utilisateur" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "Afficher les profils des utilisateurs sur leur page de profil" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "Activer les données de station de test" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "Activer la collecte des données de la station de test pour les résultats de test" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "Créer un modèle lors du téléchargement" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "Création d'un nouveau modèle de test lors du téléchargement de données de test ne correspondant pas à un modèle existant" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "Format préféré pour l'affichage des dates" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Planification des pièces" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "Afficher les informations de planification des pièces" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "Inventaire des pièces" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Afficher les informations relatives à l'inventaire des pièces (si la fonctionnalité d'inventaire est activée)" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "Afficher le dernier fil d'Ariane" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "Afficher la page actuelle dans les fils d'Ariane" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "Recevoir des rapports d'erreur" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "Recevoir des notifications en cas d'erreurs du système" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "Dernières machines d'impression utilisées" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "Sauvegarder les dernières machines d'impression utilisées par un utilisateur" @@ -3499,13 +3624,13 @@ msgstr "La pièce interne est active" msgid "Supplier is Active" msgstr "Le fournisseur est actif" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Fabricant" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Société" @@ -3513,331 +3638,331 @@ msgstr "Société" msgid "Has Stock" msgstr "A du stock" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Entreprises" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Description de la société" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "Description de la société" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Site web" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "Site Web de la société" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Numéro de téléphone" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Numéro de téléphone de contact" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Adresse e-mail de contact" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Contact" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "Point de contact" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "Lien externe vers les informations de l'entreprise" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "Cette entreprise est-elle active ?" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "Le client est-il" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "Vendez-vous des objets à cette entreprise?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "Le fournisseur est-il" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "Est-ce que vous achetez des articles à cette entreprise?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "Le fabricant est-il" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "Cette entreprise fabrique-t-elle des pièces?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "Devise par défaut utilisée pour cette entreprise" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Adresse" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Adresses" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Sélectionner une entreprise" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "Intitulé de l'adresse" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "Titre décrivant la saisie de l'adresse" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Adresse principale" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Sélectionner comme adresse principale" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "Ligne 1" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "Adresse" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "Ligne 2" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "Seconde ligne d'adresse" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Code postal" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Ville / Région" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "Code postal Ville / Région" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "État / Province" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "État ou province" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "Pays" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "Pays" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "Notes du livreur" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "Instructions pour le livreur" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "Notes pour la livraison interne" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "Notes internes pour la livraison" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "Lien vers les informations de l'adresse (externe)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Pièces du fabricant" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Pièce de base" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Sélectionner une partie" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Sélectionner un fabricant" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "Référence fabricant" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Référence du fabricant" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "URL pour le lien externe de la pièce du fabricant" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "Description de la pièce du fabricant" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "Paramètre de la pièce du fabricant" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Nom du paramètre" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Valeur du paramètre" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Unités" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Unités du paramètre" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "Les unités d'emballage doivent être compatibles avec les unités de base" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "Les unités d'emballage doivent être supérieures à zéro" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "La pièce du fabricant liée doit faire référence à la même pièce de base" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Fournisseur" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "Cette partie du fournisseur est-elle active ?" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Sélectionner un fabricant" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "Lien de la pièce du fournisseur externe" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "Description de la pièce du fournisseur" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Note" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "coût de base" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Conditionnement" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "Conditionnement de l'article" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "Nombre de paquet" -#: company/models.py:858 +#: company/models.py:891 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:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "plusieurs" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "Commande multiple" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "Quantité disponible auprès du fournisseur" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "Disponibilité mise à jour" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "Date de dernière mise à jour des données de disponibilité" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "Rupture de prix pour le fournisseur" @@ -3853,7 +3978,7 @@ msgstr "Devise par défaut utilisée pour ce fournisseur" msgid "Company Name" msgstr "Nom de l'entreprise" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "En Stock" @@ -3889,10 +4014,6 @@ msgstr "Informations complémentaires sur le statut de ce poste" msgid "Custom status key" msgstr "Touche d'état personnalisée" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Clé" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "Sur mesure" @@ -3997,7 +4118,7 @@ msgstr "Données de la ligne d'origine" msgid "Errors" msgstr "Erreurs" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "Valide" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "Référence de la commande" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "État" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "La quantité doit être un nombre positif" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4527,11 +4648,11 @@ msgstr "" #: order/models.py:1730 msgid "Build orders can only be linked to assembly parts" -msgstr "" +msgstr "Les ordres de fabrication ne peuvent être liées qu'à des pièces d'assemblage" #: order/models.py:1736 msgid "Build order part must match line item part" -msgstr "" +msgstr "Les pièces d'ordre de fabrication doivent correspondre la pièce d'objet" #: order/models.py:1771 msgid "Supplier part" @@ -4545,7 +4666,7 @@ msgstr "Reçu" msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "Prix d'achat" @@ -4850,11 +4971,11 @@ msgstr "Fusionner des éléments" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Fusionner en un seul poste les éléments ayant la même partie, la même destination et la même date cible" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "Unité de gestion des stocks" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "Numéro de pièce interne" @@ -5046,130 +5167,114 @@ msgstr "Remboursement" msgid "Reject" msgstr "Refuser" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "Bon de commande en souffrance" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Le bon de commande {po} est maintenant en retard" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "Commande en souffrance" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "La commande {so} est maintenant en retard" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "Ordre de retour en retard" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "L'ordre de retour {ro} est maintenant en retard" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "Étoilé" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "Filtrer par catégories étoilées" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "Profondeur" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "Filtrer par profondeur de catégorie" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "Premier niveau" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "Filtrer par catégories de premier niveau" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "Cascade" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "Inclure les sous-catégories dans les résultats filtrés" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "Parent" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "Filtrer par catégorie de parents" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "Exclure les sous-catégories de la catégorie spécifiée" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "A des résultats" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "Ordre d'achat entrant" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "Commande client sortante" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "Stock produit par ordre de fabrication" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "Stock requis pour l'ordre de fabrication" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "Valider l'ensemble de la nomenclature" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "Cette option doit être sélectionnée" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "Est variante" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "Est la révision" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "A des révisions" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "Nomenclature valide" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "La pièce d'assemblage est testable" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "Le composant est testable" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "Utilise" @@ -5219,7 +5324,7 @@ msgstr "Icône (facultatif)" 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:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Pièces" @@ -5335,7 +5440,7 @@ msgstr "Les mots-clés partiels pour améliorer la visibilité dans les résulta msgid "Part category" msgstr "Catégorie de la pièce" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -5344,7 +5449,7 @@ msgstr "IPN" msgid "Part revision or version number" msgstr "Numéro de révision ou de version de la pièce" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Révision" @@ -5376,7 +5481,7 @@ msgstr "Expiration par défaut" 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:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Stock Minimum" @@ -5612,7 +5717,7 @@ msgstr "Nombre d'entrées individuelles au moment de l'inventaire" msgid "Total available stock at time of stocktake" msgstr "Stock total disponible au moment de l'inventaire" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Date" @@ -5713,7 +5818,7 @@ msgstr "Description du test" msgid "Enter description for this test" msgstr "Saisir la description de ce test" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Activé" @@ -5977,359 +6082,351 @@ msgstr "Résultats" msgid "Number of results recorded against this template" msgstr "Nombre de résultats enregistrés par rapport à ce modèle" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "Quantité spéculative" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "Identifiant du Modèle" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "Le fichier n'est pas une image" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "Nombre de pièces utilisant ce modèle" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "Partie originale" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "Sélectionner la partie originale à dupliquer" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "Copier l'image à partir de la partie originale" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "Copier la nomenclature" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "Copie de la nomenclature de la pièce originale" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "Copier les paramètres" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "Copie des données de paramètres de la pièce d'origine" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "Notes sur la copie" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "Copier les notes de la partie originale" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" -msgstr "" +msgstr "Test Copie" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "Quantité de stock initial" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Indiquer la quantité de stock initiale pour cette pièce. Si la quantité est égale à zéro, aucun stock n'est ajouté." -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "Emplacement initial du stock" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "Spécifier l'emplacement du stock initial pour cette pièce" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "Sélectionner le fournisseur (ou laisser en blanc pour passer)" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "Sélectionner le fabricant (ou laisser en blanc pour ignorer)" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "Numéro de pièce du fabricant" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "L'entreprise sélectionnée n'est pas un fournisseur valide" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "L'entreprise sélectionnée n'est pas un fabricant valide" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "La pièce du fabricant correspondant à ce MPN existe déjà" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "La pièce du fournisseur correspondant à cette UGS existe déjà" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Nom catégorie" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "Construction" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" -msgstr "" +msgstr "Quantité de cette pièce actuellement en production" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" -msgstr "" +msgstr "Planifié pour fabrication" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" -msgstr "" +msgstr "Quantité exceptionnelle de cette pièce sont planifié à la fabrication" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Éléments en stock" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "Révisions" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Fournisseurs" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Stock total" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "Stock non attribué" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "Variante Stock" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "Dupliquer une pièce" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "Copier les données initiales d'une autre partie" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "Stock initial" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "Créer une pièce avec une quantité de stock initiale" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "Informations sur le fournisseur" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "Ajouter les informations initiales du fournisseur pour cette pièce" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "Copier les paramètres de la catégorie" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "Copier les modèles de paramètres de la catégorie de pièces sélectionnée" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "Image existante" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "Nom de fichier d'une image de pièce existante" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "Le fichier image n'existe pas" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "Peut construire" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" -msgstr "" +msgstr "Nécessaire pour fabrication" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" -msgstr "" +msgstr "Alloué à la fabrication" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" -msgstr "" +msgstr "Nécessaire pour les commandes" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" -msgstr "" +msgstr "Alloué aux commandes" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limiter le rapport d'inventaire à une pièce particulière et à toute variante de pièce" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limiter le rapport d'inventaire à une catégorie de pièces particulière et à toutes les catégories inférieures" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limiter le rapport d'inventaire à un lieu de stockage particulier et à tous les lieux subordonnés" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "Exclure le stock externe" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "Exclure les articles en stock dans les sites externes" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Générer un rapport" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "Générer un fichier de rapport contenant les données calculées de l'inventaire" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "Mise à jour des pièces" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "Mettre à jour les parties spécifiées avec les données calculées de l'inventaire" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "La fonctionnalité d'inventaire n'est pas activée" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Échec de la vérification du processus d'arrière-plan" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Prix Minimum" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "Remplacer la valeur calculée pour le prix minimum" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "Prix minimum monnaie" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Prix Maximum" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "Remplacer la valeur calculée pour le prix maximum" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "Devise du prix maximum" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Mise à jour" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "Mise à jour des prix pour cette pièce" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Impossible de convertir les devises fournies en {default_currency}" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "Le prix minimum ne doit pas être supérieur au prix maximum" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "Le prix maximum ne doit pas être inférieur au prix minimum" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "Sélectionner l'assemblage parent" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "Sélectionner le composant" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "Sélectionner la pièce à partir de laquelle copier la nomenclature" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "Supprimer les données existantes" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "Supprimer les postes de nomenclature existants avant de les copier" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "Inclure l'héritage" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "Inclure les éléments de nomenclature hérités des pièces modélisées" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "Sauter les lignes non valides" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "Activez cette option pour ignorer les lignes non valides" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "Copier les pièces de remplacement" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copie de pièces de rechange en cas de duplication de postes de nomenclature" @@ -6651,8 +6748,8 @@ msgstr "Prise en charge native des codes-barres" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "Contributeurs d'InvenTree" @@ -6979,7 +7076,7 @@ msgstr "Frontière" msgid "Print a border around each label" msgstr "Imprimer une bordure autour de chaque étiquette" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "Paysage" @@ -7011,51 +7108,51 @@ msgstr "L'étiquette est trop grande pour la taille de la page" msgid "No labels were generated" msgstr "Aucune étiquette n'a été générée" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "Intégration des fournisseurs - DigiKey" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "Prise en charge de la lecture des codes-barres DigiKey" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "Le fournisseur qui agit en tant que \"DigiKey\"." -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "Intégration des fournisseurs - LCSC" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "Permet de scanner les codes-barres LCSC" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "Le fournisseur qui agit en tant que \"LCSC" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "Intégration des fournisseurs - Mouser" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "Prise en charge de la lecture des codes-barres Mouser" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "Le fournisseur qui joue le rôle de \"Mouser\"." -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "Intégration des fournisseurs - TME" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "Prise en charge de la lecture des codes-barres TME" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "Le fournisseur qui agit en tant que \"TME" @@ -7160,21 +7257,21 @@ msgstr "Extension" msgid "Method" msgstr "Méthode" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "Aucun auteur trouvé" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Le plugin '{p}' n'est pas compatible avec la version actuelle d'InvenTree {v}" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Le plugin nécessite au moins la version {v}" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Le plugin nécessite au maximum la version {v}" @@ -7203,11 +7300,11 @@ msgstr "Numérique" msgid "A numerical setting" msgstr "Un cadre numérique" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "Choix des paramètres" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "Un cadre avec des choix multiples" @@ -7355,43 +7452,43 @@ msgstr "Collecter les plugins" msgid "Collect plugins and add them to the registry" msgstr "Collecter les plugins et les ajouter au registre" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "Activer le plugin" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "Activer ce plugin" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "Supprimer la configuration" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "Supprimer la configuration du plugin de la base de données" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "Articles" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "Plugin non trouvé" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "Le plugin n'est pas actif" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "Le plugin ne prend pas en charge l'impression d'étiquettes" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "Dimensions de l'étiquette non valides" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "Aucun élément valide n'a été fourni au modèle" @@ -7415,132 +7512,140 @@ msgstr "Lettre" msgid "Template file with this name already exists" msgstr "Le fichier modèle portant ce nom existe déjà" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "Nom du modèle" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "Description du modèle" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "Numéro de révision (auto-incrémentation)" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "Joindre au modèle sur l'impression" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Enregistrer le rapport en tant que pièce jointe à l'instance de modèle liée lors de l'impression" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "Modèle de nom de fichier" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "Modèle de génération de noms de fichiers" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "Le modèle est activé" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "Type de modèle cible pour le modèle" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Filtres" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "Filtres de requête de modèle (liste de paires clé/valeur séparées par des virgules)" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "Fichier modèle" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "Taille des pages pour les rapports PDF" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "Rendre le rapport en orientation paysage" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "Fusionné" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "Rapport généré à partir du modèle {self.name}" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "Erreur dans la génération du rapport" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Largeur [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "Largeur de l'étiquette, spécifiée en mm" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Hauteur [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "Hauteur de l'étiquette, spécifiée en mm" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "Erreur d'impression des étiquettes" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "Extrait " -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "Fichier d'extrait de rapport" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "Description du fichier d'extrait" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "Elément" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "Rapport sur le fichier d'actifs" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "Description du fichier d'actifs" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "Sélectionner un modèle de rapport" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "Liste des clés primaires des éléments à inclure dans le rapport" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "Sélection du modèle d'étiquette" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "Plugin d'impression" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "Sélectionner le plugin à utiliser pour l'impression des étiquettes" @@ -7567,6 +7672,8 @@ msgstr "Matériel nécessaire" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "Total" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "Lot" msgid "Stock location items" msgstr "Postes d'emplacement de stock" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Rapport de test des articles en stock" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "Éléments installés" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Numéro de série" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Résultats des tests" @@ -7647,15 +7767,6 @@ msgstr "Pas de résultat (obligatoire)" msgid "No result" msgstr "Pas de résultat" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "Éléments installés" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Numéro de série" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "Le fichier d'actifs n'existe pas" @@ -7672,123 +7783,123 @@ msgstr "la balise part_image nécessite une instance de Part" msgid "company_image tag requires a Company instance" msgstr "la balise company_image nécessite une instance d'entreprise" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "Filtrer par profondeur de localisation" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "Filtrer par lieux de premier niveau" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "Inclure les sous-emplacements dans les résultats filtrés" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "Emplacement parent" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "Filtrer par emplacement parent" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "Nom de la pièce (insensible à la casse)" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "Le nom de la pièce contient (insensible à la casse)" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "Nom de la pièce (regex)" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "Partie IPN (insensible à la casse)" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "La partie IPN contient (insensible à la casse)" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "Partie IPN (regex)" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "Stock minimum" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "Stock maximum" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "Code de statut" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "Emplacement externe" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "Consommé par l'ordre de construction" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "Installé dans un autre article en stock" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "Arbre en pièces détachées" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "Mise à jour avant" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "Mise à jour après" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "Inventaire avant" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "Inventaire après" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "Date d'expiration avant" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "Date d’expiration après" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "Périmé" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "La quantité est requise" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "La partie valide doit être fournie" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "Le fournisseur donné n'existe pas" -#: stock/api.py:1029 +#: stock/api.py:1048 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:1056 +#: stock/api.py:1080 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" @@ -7897,7 +8008,7 @@ msgstr "Sélectionnez une pièce fournisseur correspondante pour cet article en msgid "Where is this stock item located?" msgstr "Où se trouve cet article en stock ?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "L'emballage de cet article en stock est stocké dans" @@ -7913,7 +8024,7 @@ msgstr "L'article a été installé dans un autre article ?" msgid "Serial number for this item" msgstr "Numéro de série pour cet article" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "Code de lot pour cet article de stock" @@ -7969,136 +8080,136 @@ msgstr "Prix d'achat de l'unité unique au moment de l'achat" msgid "Converted to part" msgstr "Converti en partie" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "La pièce n'est pas définie comme pouvant faire l'objet d'un suivi" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "La quantité doit être un nombre entier" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "La quantité ne doit pas dépasser la quantité disponible en stock ({self.quantity})" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "Les numéros de série doivent être fournis sous forme de liste" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "La quantité ne correspond pas au nombre de numéros de série" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "Le modèle de test n'existe pas" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "Un article de stock a été affecté à une commande client" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "L'article de stock est installé dans un autre article" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "L'article de stock contient d'autres articles" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "Un article de stock a été affecté à un client" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "L'article de stock est actuellement en production" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "Le stock sérialisé ne peut pas être fusionné" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "Articles de stock en double" -#: stock/models.py:1913 +#: stock/models.py:1926 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:1921 +#: stock/models.py:1934 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:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "Les codes d'état des stocks doivent correspondre" -#: stock/models.py:2196 +#: stock/models.py:2209 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:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "Suivi des articles en stock" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "Notes d'entrée" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "Résultat du test de l'article en stock" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "Une valeur doit être fournie pour ce test" -#: stock/models.py:2784 +#: stock/models.py:2797 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:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "Valeur non valide pour ce test" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Résultat du test" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "Valeur de sortie du test" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "Pièce jointe au résultat du test" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "Notes de test" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "Station de test" -#: stock/models.py:2841 +#: stock/models.py:2854 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:2847 +#: stock/models.py:2860 msgid "Started" msgstr "Commencé" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "Horodatage du début du test" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "Fini" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "Horodatage de la fin du test" @@ -8170,201 +8281,201 @@ msgstr "Article de stock parent" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Utiliser la taille de l'emballage lors de l'ajout : la quantité définie est le nombre d'emballages" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "Référence du fournisseur" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "Expiré" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "Éléments enfants" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "Suivi des éléments" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "Prix d'achat de cet article en stock, par unité ou par paquet" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "Entrez le nombre d'articles en stock à sérialiser" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La quantité ne doit pas dépasser la quantité disponible en stock ({q})" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "Entrez les numéros de série pour les nouveaux articles" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "Emplacement du stock de destination" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "Champ de notes facultatif" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "Les numéros de série ne peuvent pas être assignés à cette pièce" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "Sélectionner l'article de stock à installer" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "Quantité à installer" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "Saisir la quantité d'articles à installer" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "Ajouter une note de transaction (facultatif)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "La quantité à installer doit être d'au moins 1" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "L'article en stock n'est pas disponible" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "La pièce sélectionnée ne figure pas dans la nomenclature" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "La quantité à installer ne doit pas dépasser la quantité disponible" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "Emplacement de destination de l'élément désinstallé" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "Sélectionner la pièce à convertir en article de stock" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "La partie sélectionnée n'est pas une option valide pour la conversion" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Impossible de convertir un article de stock auquel un SupplierPart a été attribué" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "Code d'état de l'article en stock" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "Lieu de destination de l'article retourné" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "Sélectionner les articles en stock pour modifier leur statut" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "Aucun article en stock n'a été sélectionné" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Sous-localisations" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "Emplacement du stock mère" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "La pièce doit être vendable" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "L'article est affecté à une commande client" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "L'article est attribué à un ordre de fabrication" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "Affectation d'articles en stock par le client" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "L'entreprise sélectionnée n'est pas un client" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "Notes d'affectation des stocks" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "Une liste des articles en stock doit être fournie" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "Notes sur les fusions d'actions" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "Autoriser les fournisseurs non concordants" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permettre la fusion d'articles en stock avec des pièces de fournisseurs différents" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "Autoriser la non-concordance des statuts" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "Permettre la fusion d'articles en stock ayant des codes de statut différents" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "Au moins deux articles en stock doivent être fournis" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "Pas de changement" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "Valeur de la clé primaire StockItem" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "L'article n'est plus en stock" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "Notes sur les transactions boursières" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "Numéro de série suivant" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "Numéro de série précédent" @@ -8875,11 +8986,11 @@ msgstr "Seul un superutilisateur peut modifier ce champ" #: users/serializers.py:373 msgid "Password" -msgstr "" +msgstr "Mot de passe" #: users/serializers.py:374 msgid "Password for the user" -msgstr "" +msgstr "Mot de passe pour l'utilisateur" #: users/serializers.py:380 msgid "Override warning" diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index d3417f6e4e..8927b4e196 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "למשתמש אין הרשאה לצפות במוזל הזה" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "" @@ -356,7 +356,7 @@ msgstr "סינית (מסורתית)" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "אימייל" @@ -408,19 +408,19 @@ msgstr "שמות כפולים אינם יכולים להתקיים תחת אות msgid "Invalid choice" msgstr "בחירה שגויה" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "שם" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "תיאור" msgid "Description (optional)" msgstr "תיאור (לא חובה)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "נתיב" @@ -479,11 +479,11 @@ msgstr "נרשמה שגיאה על ידי השרת." msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "מטבע" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "בחר מטבע מהאפשרויות הזמינות" @@ -527,29 +527,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "מקור הבנייה" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "רכיב" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "" @@ -854,7 +854,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "קישור חיצוני" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "כמות" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "מספרים סידוריים" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "מבוטל" msgid "Complete" msgstr "הושלם" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "משתמש" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "קישור" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "קובץ מצורף" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "קובץ חסר" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "חסר קישור חיצוני" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "בחר קובץ לצירוף" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "הערה" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "שם קובץ" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3513,331 +3638,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index b36fcd4f58..3fe0dba92f 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "" @@ -356,7 +356,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "ई-मेल" @@ -408,19 +408,19 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "" @@ -479,11 +479,11 @@ msgstr "" msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "" @@ -527,29 +527,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "" @@ -854,7 +854,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "" msgid "Complete" msgstr "" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3513,331 +3638,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index 98a4c27194..fce9644996 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API funkciót nem találom" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "Érvénytelen szűrők vannak megadva" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Nincs jogosultságod az adatok megtekintéséhez" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "Érvénytelen decimális érték" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Megjegyzések" @@ -356,7 +356,7 @@ msgstr "Kínai (Hagyományos)" msgid "Log in to the app" msgstr "Bejelentkezés az appba" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "Email" @@ -408,19 +408,19 @@ msgstr "Duplikált nevek nem lehetnek ugyanazon szülő alatt" msgid "Invalid choice" msgstr "Érvénytelen választás" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Név" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Leírás" msgid "Description (optional)" msgstr "Leírás (opcionális)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Elérési út" @@ -479,11 +479,11 @@ msgstr "A kiszolgáló egy hibaüzenetet rögzített." msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Pénznem" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Válassz pénznemet a lehetőségek közül" @@ -527,29 +527,29 @@ msgstr "Túlszállítás nem lehet több mint 100%" msgid "Invalid value for overage" msgstr "Érvénytelen érték a túlszállításra" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Rendelés állapota" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Szülő gyártás" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "Változatokkal együtt" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "Változatokkal együtt" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "Változatokkal együtt" msgid "Part" msgstr "Alkatrész" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Kategória" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "Szülő Gyártás" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "Hozzám rendelt" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Kiállította" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "Hozzárendelve" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "Ez előtt létrehozva" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "Fa kihagyása" -#: build/api.py:409 +#: build/api.py:411 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:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Opcionális" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Gyártmány" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Követett" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Ellenőrizhető" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Lefoglalva" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Elérhető" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Gyártás státusz kód" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Batch kód" @@ -854,7 +854,7 @@ msgstr "Indította" 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:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,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:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link külső URL-re" @@ -881,7 +881,7 @@ msgstr "Priorítás" msgid "Priority of this build order" msgstr "Gyártási utasítás priorítása" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Projektszám" @@ -903,51 +903,50 @@ msgstr "A {build} gyártási utasítás elkészült" msgid "A build order has been completed" msgstr "Gyártási utasítás elkészült" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "Egyedi követésre jelölt alkatrészeknél kötelező sorozatszámot megadni" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Nincs gyártási kimenet megadva" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Gyártási kimenet már kész" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Gyártási kimenet nem egyezik a gyártási utasítással" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "A mennyiség nem lehet több mint a gyártási mennyiség" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "A {serial} gyártási kimenet nem felelt meg az összes kötelező teszten" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "Gyártási Rendelés Sor Tétel" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Gyártás objektum" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Gyártás objektum" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Mennyiség" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Gyártáshoz szükséges mennyiség" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "A készlet tétel nem egyezik az alkatrészjegyzékkel" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Készlet tétel" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Forrás készlet tétel" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Készlet mennyiség amit foglaljunk a gyártáshoz" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Beépítés ebbe" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Cél készlet tétel" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Egész számú mennyiség szükséges, mivel az alkatrészjegyzék egyedi követésre kötelezett alkatrészeket tartalmaz" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Sorozatszámok" @@ -1070,10 +1071,10 @@ msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Hely" @@ -1089,8 +1090,8 @@ 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:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" @@ -1223,7 +1224,7 @@ msgstr "Gyártás sor tétel" 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:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" @@ -1300,13 +1301,13 @@ msgstr "Alkatrészjegyzék Alkatrész Név" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "Beszállítói alkatrész" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "Lefoglalt mennyiség" @@ -1318,7 +1319,7 @@ msgstr "Gyártási Hivatkozás" msgid "Part Category Name" msgstr "Alkatrész kategória Neve" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Követésre kötelezett" @@ -1331,7 +1332,7 @@ msgid "Allow Variants" msgstr "Változatok" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" @@ -1340,21 +1341,21 @@ msgid "Allocated Stock" msgstr "Lefoglalt készlet" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "Rendelve" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "Gyártásban" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "Külső raktárkészlet" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Elérhető készlet" @@ -1392,32 +1393,32 @@ msgstr "Törölve" msgid "Complete" msgstr "Kész" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "A gyártási utasításhoz készlet szükséges" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "Késésben lévő gyártás" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "A {bo} gyártás most már késésben van" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "Ez egy hivatkozás" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "Ez egy állomány" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "A felhasználó nem jogosult ezen mellékletek törlésére" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "A felhasználó nem jogosult ezen melléklet törlésére" @@ -1437,61 +1438,61 @@ msgstr "Hiányzó érvényes valuta kód" msgid "No plugin" msgstr "Nincsen plugin" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Frissítve" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Legutóbbi frissítés időpontja" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Egyedi projektszám" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Projekt leírása" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "A projektért felelős felhasználó vagy csoport" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Beállítás értéke" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "A kiválasztott érték nem egy érvényes lehetőség" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "Az érték bináris kell legyen" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "Az érték egész szám kell legyen" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "Kulcs string egyedi kell legyen" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1499,485 +1500,601 @@ msgstr "Kulcs string egyedi kell legyen" msgid "User" msgstr "Felhasználó" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Ár" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "Egységár egy meghatározott mennyiség esetén" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Végpont" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "Végpont ahol ez a webhook érkezik" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "Webhook neve" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktív" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "Aktív-e ez a webhook" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "Token a hozzáféréshez" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Titok" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "Megosztott titok a HMAC-hoz" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "Üzenet azonosító" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "Egyedi azonosító ehhez az üzenethez" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "Kiszolgáló" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "Kiszolgáló ahonnan ez az üzenet érkezett" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Fejléc" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "Üzenet fejléce" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Törzs" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "Üzenet törzse" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "Végpont amin ez az üzenet érkezett" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "Dolgozott rajta" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "Befejeződött a munka ezzel az üzenettel?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "Azonosító" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Cím" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Közzétéve" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Szerző" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Összefoglaló" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Elolvasva" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "Elolvasva?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Kép" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Képfájl" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "A képhez tartozó model típus" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "A képhez tartozó model azonosító" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "Egyedi mértékegység" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "A mértékegység szimbólumának egyedinek kell lennie" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "A mértékegységnek valós azonosítónak kell lennie" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "Egység neve" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Szimbólum" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "Opcionális mértékegység szimbólum" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Definíció" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Mértékegység definíció" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Melléklet" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Hiányzó fájl" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Hiányzó külső link" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Válaszd ki a mellekelni kívánt fájlt" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Megjegyzés" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "Melléklet megjegyzés" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "Feltöltés dátuma" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "A fájl feltöltésének dátuma" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "Fájl mérete" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "Fájlméret bájtban" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "A melléklet model típusa érvénytelen" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "Egyedi Állapot" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "Egyedi Állapotok" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "Hivatkozott Állapot Készlet" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "Az az Állapot készlet, melyet ez az egyedi állapot kibővít" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Logikai kulcs" -#: common/models.py:2032 +#: common/models.py:2041 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:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Érték" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "Az állapot neve" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "Címke" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "A felületen megjelenített címke" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "Szín" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "A felöleten megjelenő szín" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "Model" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "A Model amihez ez az állapot tartozik" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "Modelt választani kötelező" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "Kulcsot választani kötelező" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "Logikai kulcsot választani kötelező" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "A kulcs és a logikai kulcs nem lehet azonos" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "A kulcsnak eltérőnek kell lennie a hivatkozott állapotok logikai kulcsaitól" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "A logikai kulcsnak szerepelnie kell a hivatkozott állapotok logikai kulcsai közt" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "Lezárt" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "Forrás szöveg" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "Alapértelmezett bejegyzés" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Létrehozva" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Utoljára módosítva" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "Vonalkód beolvasás" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Adat" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "Vonalkód adat" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "Időbélyeg" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Kontextus" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "Válasz" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Eredmény" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Kulcs" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2020,80 +2137,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "Folyamatban" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "Folyamatban lévő feladatok" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Ütemezett Feladatok" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Hibás feladatok" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "Feladat ID" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "Egyedi feladat ID" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "Zárol" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Zárolási idő" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Feladat neve" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Funkció" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Funkció neve" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Paraméterek" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Feladat paraméterei" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "Kulcsszó paraméterek" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "Feladat kulcsszó paraméterek" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Fájlnév" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "Modell típusa" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "A felhasználónak nincs joga létrehozni vagy módosítani ehhez a modelhez tartozó mellékleteket" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2105,1073 +2222,1089 @@ msgstr "Nincs csoport" msgid "Site URL is locked by configuration" msgstr "A site URL blokkolva van a konfigurációban" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Újraindítás szükséges" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "Egy olyan beállítás megváltozott ami a kiszolgáló újraindítását igényli" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Függőben levő migrációk" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "Függőben levő adatbázis migrációk" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Kiszolgáló példány neve" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "String leíró a kiszolgáló példányhoz" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Példány név használata" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "Példány név használata a címsorban" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "Verzió infók megjelenítésének tiltása" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "Verzió infók megjelenítése csak admin felhasználóknak" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Cég neve" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Belső cégnév" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "Kiindulási URL" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "Kiindulási URL a kiszolgáló példányhoz" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Alapértelmezett pénznem" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "Válassz alap pénznemet az ár számításokhoz" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "Támogatott valuták" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "Támogatott valuták listája" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "Árfolyam frissítési gyakoriság" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Milyen gyakran frissítse az árfolyamokat (nulla a kikapcsoláshoz)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "nap" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "Árfolyam frissítő plugin" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "Kiválasztott árfolyam frissítő plugin" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Letöltés URL-ről" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Képek és fájlok letöltésének engedélyezése külső URL-ről" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "Letöltési méret korlát" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "Maximum megengedett letöltési mérete a távoli képeknek" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "Felhasznált User-agent az URL-ről letöltéshez" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "A külső URL-ről letöltéshez használt user-agent felülbírálásának engedélyezése (hagyd üresen az alapértelmezéshez)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "Erős URL validáció" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "Sablon specifikáció igénylése az URL validálásnál" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Frissítés keresés gyakorisága" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "Milyen gyakran ellenőrizze van-e új frissítés (0=soha)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Automatikus biztonsági mentés" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Adatbázis és média fájlok automatikus biztonsági mentése" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Automata biztonsági mentés gyakorisága" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Hány naponta készüljön automatikus biztonsági mentés" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "Feladat törlési gyakoriság" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "Háttérfolyamat eredmények törlése megadott nap eltelte után" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "Hibanapló törlési gyakoriság" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "Hibanapló bejegyzések törlése megadott nap eltelte után" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "Értesítés törlési gyakoriság" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Felhasználói értesítések törlése megadott nap eltelte után" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Vonalkód támogatás" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "Vonalkód olvasó támogatás engedélyezése a web felületen" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "Vonalkód beadási késleltetés" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "Vonalkód beadáskor a feldolgozás késleltetési ideje" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "Webkamerás vonalkód olvasás" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "Webkamerás kódolvasás engedélyezése a böngészőből" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "Vonalkód Adat Megjelenítése" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "Vonalkód adat megjelenítése a böngészőben szövegként" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "Vonalkód Generáló Plugin" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "Belső vonalkód generálásra használatos plugin" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "Alkatrész változatok" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "Alkatrész változat vagy verziószám tulajdonság használata" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "Csak Összeállítás Verzió" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "Csak összeállított alkatrészeknek lehessen verziója" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "Lehessen törölni az Összeállításból" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "Lehessen olyan alkatrészt törölni ami Összeállításban szerepel" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "IPN reguláris kifejezés" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "Reguláris kifejezés ami illeszkedik az alkatrész IPN-re" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Többször is előforduló IPN engedélyezése" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "Azonos IPN használható legyen több alkatrészre is" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "IPN szerkesztésének engedélyezése" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "IPN megváltoztatásánsak engedélyezése az alkatrész szerkesztése közben" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Alkatrészjegyzék adatok másolása" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "Alkatrész másoláskor az alkatrészjegyzék adatokat is másoljuk alapból" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "Alkatrész paraméterek másolása" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "Alkatrész másoláskor a paramétereket is másoljuk alapból" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "Alkatrész teszt adatok másolása" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "Alkatrész másoláskor a tesztek adatait is másoljuk alapból" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "Kategória paraméter sablonok másolása" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "Kategória paraméter sablonok másolása alkatrész létrehozásakor" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Sablon" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "Alkatrészek alapból sablon alkatrészek legyenek" -#: common/setting/system.py:430 +#: common/setting/system.py:443 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:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Összetevő" -#: common/setting/system.py:436 +#: common/setting/system.py:449 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:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Beszerezhető" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "Alkatrészek alapból beszerezhetők legyenek" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Értékesíthető" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "Alkatrészek alapból eladhatók legyenek" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "Alkatrészek alapból követésre kötelezettek legyenek" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Virtuális" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Alkatrészek alapból virtuálisak legyenek" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Kapcsolódó alkatrészek megjelenítése" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Alkatrész kapcsolódó alkatrészeinek megjelenítése" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "Kezdeti készlet adatok" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "Kezdeti készlet létrehozása új alkatrész felvételekor" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "Kezdeti beszállítói adatok" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Kezdeti beszállítói adatok létrehozása új alkatrész felvételekor" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Alkatrész név megjelenítés formátuma" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Formátum az alkatrész név megjelenítéséhez" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "Alkatrész kategória alapértelmezett ikon" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "Alkatrész kategória alapértelmezett ikon (üres ha nincs)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "Csak választható mértékegységek" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "A megadott mértékegység csak a beállított lehetőségekből legyen elfogadva" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek min. száma" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek minimális száma az árak megjelenítésekor" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "Áraknál használt tizedesjegyek max. száma" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Tizedejegyek maximális száma az árak megjelenítésekor" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Beszállítói árazás használata" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Beszállítói ársávok megjelenítése az általános árkalkulációkban" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Beszerzési előzmények felülbírálása" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Beszerzési árelőzmények felülírják a beszállítói ársávokat" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "Készlet tétel ár használata" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "A kézzel bevitt készlet tétel árak használata az árszámításokhoz" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "Készlet tétel ár kora" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Az ennyi napnál régebbi készlet tételek kizárása az árszámításból" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "Alkatrészváltozat árak használata" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "Alkatrészváltozat árak megjelenítése az általános árkalkulációkban" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "Csak az aktív változatokat" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "Csak az aktív alkatrészváltozatok használata az árazásban" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "Árazás újraszámítás gyakoriság" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "Árak automatikus frissítése ennyi nap után" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Belső árak" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "Alkatrészekhez belső ár engedélyezése" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Belső ár felülbírálása" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "Ha elérhetőek az árkalkulációkban a belső árak lesznek alapul véve" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Címke nyomtatás engedélyezése" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Címke nyomtatás engedélyezése a web felületről" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "Címke kép DPI" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Képek felbontása amik átadásra kerülnek címkenyomtató pluginoknak" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Riportok engedélyezése" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Riportok előállításának engedélyezése" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Debug mód" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "Riportok előállítása HTML formátumban (hibakereséshez)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "Jelentési hibák naplózása" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "Jelentések generálása közben jelentkező hibák naplózása" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Lapméret" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Alapértelmezett lapméret a PDF riportokhoz" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "Globálisan egyedi sorozatszámok" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "A sorozatszámoknak egyedinek kell lennie a teljes készletre vonatkozóan" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "Kimerült készlet törlése" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "Alapértelmezett művelet mikor a készlet tétel elfogy" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "Batch kód sablon" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "Sablon a készlet tételekhez alapértelmezett batch kódok előállításához" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "Készlet lejárata" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "Készlet lejárat kezelésének engedélyezése" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "Lejárt készlet értékesítése" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "Lejárt készlet értékesítésének engedélyezése" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "Álló készlet ideje" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "Napok száma amennyivel a lejárat előtt a készlet tételeket állottnak vesszük" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "Lejárt készlet gyártása" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "Gyártás engedélyezése lejárt készletből" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "Készlet tulajdonosok kezelése" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "Tulajdonosok kezelésének engedélyezése a készlet helyekre és tételekre" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "Hely alapértelmezett ikon" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "Hely alapértelmezett ikon (üres ha nincs)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "Beépített készlet megjelenítése" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "Beépített készlet tételek megjelenítése a készlet táblákban" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "Tételek telepítésekor a darabjegyzék ellenőrzése" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "A beépített tételeknek a szülő elem darabjegyzékében szerepelniük kell" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "Lehet Hiányzó Készletet Mozgatni" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Lehet-e olyan készleteket mozgatni készlethelyek között amik nincsenek raktáron" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "Gyártási utasítás azonosító minta" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Szükséges minta a gyártási utasítás azonosító mező előállításához" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "Felelős tulajdonos szükséges" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "Minden rendeléshez felelőst kell rendelni" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "Szükséges Aktív Alkatrész" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "Inaktív alkatrészekre nem lehet Gyártási Rendelést létrehozni" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "Elvárás a Lezárt Alkatrész" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "Megakadályozza, hogy nem lezárt alkatrészekre gyártási rendelést lehessen indítani" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "Jóváhagyott Alkatrészjegyzék Kötelező" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "Megakadályozza gyártási rendelés készítését ha nincsen az Alkatrészjegyzék jóváhagyva" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "Leszármazott Gyártásoknak Lezártnak Kell Lennie" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "Amíg minden leszármazott gyártás le nincsen zárva nem lehet a szülő gyártást lezárni" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "Blokkolás a tesztek sikeres végrehajtásáig" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Nem lehet gyártási tételt befejezni amíg valamennyi kötelező teszt sikeres nem lett" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "Visszavétel engedélyezése" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "Visszavételek engedélyezése a felületen" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "Visszavétel azonosító minta" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "Szükséges minta a visszavétel azonosító mező előállításához" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "Befejezett visszavétel szerkesztése" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "Visszavétel szerkesztésének engedélyezése befejezés után" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "Vevői rendelés azonosító minta" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "Szükséges minta a vevői rendelés azonosító mező előállításához" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "Vevői rendeléshez alapértelmezett szállítmány" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "Szállítmány automatikus létrehozása az új vevő rendelésekhez" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "Befejezett vevői rendelés szerkesztése" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Vevői rendelések szerkesztésének engedélyezése szállítás vagy befejezés után" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "Leszállított Rendelések Készre jelölése" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Leszállítottnak jelölt Értékesítési rendelések automatikusan Kész-re lesznek állítva, a \"Leszállított\" állapot átugrásával" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "Beszerzési rendelés azonosító minta" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "Szükséges minta a beszerzési rendelés azonosító mező előállításához" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "Befejezett beszerzési rendelés szerkesztése" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Beszérzési rendelések szerkesztésének engedélyezése kiküldés vagy befejezés után" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "Beszerzési rendelések automatikus befejezése" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "A beszerzési rendelés automatikus befejezése ha minden sortétel beérkezett" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Elfelejtett jelszó engedélyezése" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Elfelejtett jelszó funkció engedélyezése a bejentkező oldalon" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Regisztráció engedélyezése" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése a bejelentkező oldalon" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "SSO engedélyezése" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "SSO engedélyezése a bejelentkező oldalon" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "SSO regisztráció engedélyezése" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Felhaszálók önkéntes regisztrációjának engedélyezése SSO-n keresztül a bejelentkező oldalon" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "SSO csoport szinkronizálás engedélyezése" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "Az InvenTree csoportok szinkronizálása a hitelesítésszolgáltatóhoz" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "SSO csoport kulcs" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "A csoportkérés tulajdonság neve amit a hitelesítésszolgáltató nyújt" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "SSO csoport hozzárendelés" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "Az SSO csoportok hozzárendelése az InvenTree csoportokhoz. Ha a helyi csoport nem létezik, létre lesz hozva." -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "Az SSO-n kívüli csoportok eltávolítása" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "Ha egy felhasználóhoz rendelt csoport nem létezik az azonosításszolgáltatóban azt eltávolítsuk el. Ennek a kikapcsolása biztonsági problémákhoz vezethet" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "Email szükséges" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "Kötelező email megadás regisztrációkor" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "SSO felhasználók automatikus kitöltése" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "Felhasználó adatainak automatikus kitöltése az SSO fiókadatokból" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "Email kétszer" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "Regisztráláskor kétszer kérdezze a felhasználó email címét" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Jelszó kétszer" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "Regisztráláskor kétszer kérdezze a felhasználó jelszavát" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Engedélyezett domainek" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Feliratkozás korlátozása megadott domain-ekre (vesszővel elválasztva, @-al kezdve)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Csoport regisztráláskor" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "Ehhez a csoporthoz lesznek az új felhasználók rendelve. Ha az SSO csoport szinkronizálás engedélyezve van, akkor ez a csoport csak akkor lesz hozzárendelve a felhasználóhoz ha az azonosítás szolgáltató semmilyen csoportot nem rendelt hozzá." -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "Többfaktoros hitelesítés kényszerítése" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "A felhasználóknak többfaktoros hitelesítést kell használniuk." -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "Pluginok ellenőrzése indításkor" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Ellenőrizze induláskor hogy minden plugin telepítve van - engedélyezd konténer környezetben (docker)" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "Plugin frissítések ellenőrzése" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "Frissítések periódikus ellenőrzésének engedélyezése a telepített pluginokra" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "URL integráció engedélyezése" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "URL útvonalalak hozzáadásának engedélyezése a pluginok számára" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "Navigációs integráció engedélyezése" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "Navigációs integráció engedélyezése a pluginok számára" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "App integráció engedélyezése" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "App hozzáadásának engedélyezése a pluginok számára" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "Ütemezés integráció engedélyezése" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "Háttérben futó feladatok hozzáadásának engedélyezése a pluginok számára" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "Esemény integráció engedélyezése" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "Belső eseményekre reagálás engedélyezése a pluginok számára" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "Leltár funkció" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Leltár funkció engedélyezése a készlet mennyiség és érték számításhoz" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "Külső helyek nélkül" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Külső helyek figyelmen kívül hagyása a leltár számításoknál" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "Automatikus leltár időpontja" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Hány naponta történjen automatikus leltár (nulla egyenlő tiltva)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "Riport törlési gyakoriság" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Régi leltár riportok törlése hány naponta történjen" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "Felhasználók teljes nevének megjelenítése" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "Felhasználói név helyett a felhasználók teljes neve jelenik meg" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "Teszt állomás adatok engedélyezése" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "Tesztállomás adatok gyűjtésének teszt eredménybe gyűjtésének engedélyezése" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3408,42 +3541,34 @@ msgid "Preferred format for displaying dates" msgstr "Preferált dátum formátum a dátumok kijelzésekor" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Alkatrész ütemezés" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "Alkatrész ütemezési információk megjelenítése" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "Alkatrész leltár" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Alkatrész leltár információk megjelenítése (ha a leltár funkció engedélyezett)" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "Hibariportok fogadása" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "Értesítések fogadása a rendszerhibákról" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "Utoljára használt nyomtató gépek" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "Az utoljára használt nyomtató tárolása a felhasználóhoz" @@ -3500,13 +3625,13 @@ msgstr "A saját alkatrész Aktív" msgid "Supplier is Active" msgstr "A Beszállító Aktív" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Gyártó" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Cég" @@ -3514,331 +3639,331 @@ msgstr "Cég" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Cégek" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Cég leírása" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "A cég leírása" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Weboldal" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "Cég weboldala" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Telefonszám" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Kapcsolattartó telefonszáma" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Kapcsolattartó email címe" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Névjegy" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "Kapcsolattartó" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "Link a külső céginformációhoz" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "Ez a vállalat aktív?" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "Vevő" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "Értékesítesz alkatrészeket ennek a cégnek?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "Beszállító" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "Vásárolsz alkatrészeket ettől a cégtől?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "Gyártó" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "Gyárt ez a cég alkatrészeket?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "Cég által használt alapértelmezett pénznem" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Cím" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Címek" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Cég kiválasztása" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "Cím megnevezése" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "Címhez tartozó leírás, megnevezés" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Elsődleges cím" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Beállítás elsődleges címként" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "1. sor" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "Cím első sora" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "2. sor" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "Cím második sora" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Irányítószám" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Város/Régió" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "Irányítószám város/régió" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "Állam/Megye" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "Állam vagy megye" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "Ország" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "Cím országa" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "Megjegyzés a futárnak" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "Futárnak szóló megjegyzések" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "Belső szállítási megjegyzések" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "Szállítási megjegyzések belső használatra" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "Link a címinformációkhoz (külső)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Kiindulási alkatrész" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Válassz alkatrészt" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Gyártó kiválasztása" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "MPN (Gyártói cikkszám)" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Gyártói cikkszám" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "URL link a gyártói alkatrészhez" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "Gyártói alkatrész leírása" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "Gyártói Cikkszám" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Paraméter neve" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Paraméter értéke" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Mértékegység" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Paraméter mértékegység" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "A csomagolási egységnek kompatibilisnek kell lennie az alkatrész mértékegységgel" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "Csomagolási mennyiségnek nullánál többnek kell lennie" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "Kapcsolódó gyártói alkatrésznek ugyanarra a kiindulási alkatrészre kell hivatkoznia" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Beszállító" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "Ez a szállítói termék aktív?" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Gyártói alkatrész kiválasztása" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "URL link a beszállítói alkatrészhez" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "Beszállítói alkatrész leírása" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Megjegyzés" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "alap költség" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Csomagolás" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "Alkatrész csomagolás" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "Csomagolási mennyiség" -#: company/models.py:858 +#: company/models.py:891 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:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "többszörös" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "Többszörös rendelés" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "Beszállítónál elérhető mennyiség" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "Elérhetőség frissítve" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "Utolsó elérhetőségi adat frissítés" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "Beszállítói Ár Kedvezmény" @@ -3854,7 +3979,7 @@ msgstr "Beszállító által használt alapértelmezett pénznem" msgid "Company Name" msgstr "Cégnév" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "Készleten" @@ -3890,10 +4015,6 @@ msgstr "További állapot információk erről a tételről" msgid "Custom status key" msgstr "Saját Állapot Kulcs" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Kulcs" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "Egyedi" @@ -3998,7 +4119,7 @@ msgstr "Eredeti sor adat" msgid "Errors" msgstr "Hibák" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "Érvényes" @@ -4383,7 +4504,7 @@ msgid "Order reference" msgstr "Rendelés azonosító" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Állapot" @@ -4428,7 +4549,7 @@ msgid "Quantity must be a positive number" msgstr "Mennyiség pozitív kell legyen" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4546,7 +4667,7 @@ msgstr "Beérkezett" msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "Beszerzési ár" @@ -4851,11 +4972,11 @@ msgstr "Elemek összevonása" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Azonos forrás és cél dátumú Alkatrész tételeinek összevonása egy tételre" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "SKU (leltári azonosító)" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "Belső cikkszám" @@ -5047,130 +5168,114 @@ msgstr "Visszatérítés" msgid "Reject" msgstr "Elutasított" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "Késésben lévő beszerzés" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "A {po} beszerzési rendelés most már késésben van" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "Késésben lévő vevői rendelés" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "A {so} vevői rendelés most már késésben van" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "Csillagozott" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "Csillagozottra szűrés" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "Mélység" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "Kategória mélységre szűrés" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "Felső szint" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "Csúcs készlethelyre szűrés" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "Lépcsőzetes" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "Szűrt eredmények tartalmazzák az alkategóriákat" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "Szülő" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "Szülő kategóriára szűrés" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "Az adott kategória alkategóriáinak kihagyása" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "Van találat" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "Beérkező beszerzési rendelés" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "Kimenő vevői rendelés" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "Gyártással előállított készlet" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "A gyártási utasításhoz szükséges készlet" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "Ennek az opciónak ki kll lennie választva" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "Változat" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "Vannak Változatok" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "Alkatrészjegyzék ellenőrizve" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "Összeállított Alkatrész ellenőrizhető" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "Összetevő alkatrész ellenőrizhető" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "Használ" @@ -5220,7 +5325,7 @@ msgstr "Ikon (opcionális)" 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:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Alkatrészek" @@ -5336,7 +5441,7 @@ msgstr "Alkatrész kulcsszavak amik segítik a megjelenést a keresési eredmén msgid "Part category" msgstr "Alkatrész kategória" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN (Belső Cikkszám)" @@ -5345,7 +5450,7 @@ msgstr "IPN (Belső Cikkszám)" 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:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Változat" @@ -5377,7 +5482,7 @@ msgstr "Alapértelmezett lejárat" 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:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Minimális készlet" @@ -5613,7 +5718,7 @@ msgstr "Egyedi készlet tételek száma a leltárkor" msgid "Total available stock at time of stocktake" msgstr "Teljes készlet a leltárkor" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Dátum" @@ -5714,7 +5819,7 @@ msgstr "Teszt leírása" msgid "Enter description for this test" msgstr "Adj hozzá egy leírást ehhez a teszthez" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Engedélyezve" @@ -5978,359 +6083,351 @@ msgstr "Eredmények" msgid "Number of results recorded against this template" msgstr "Eszerint a sablon szerint rögzített eredmények száma" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "Ennyi alkatrész használja ezt a sablont" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "Paraméterek másolása" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "Megjegyzések másolása" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "Megjegyzések másolása az eredeti alkatrészről" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Add meg a kezdeti készlet mennyiséget. Ha nulla akkor nem lesz készlet létrehozva." -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "Válassz beszállítót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Kategória neve" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "Gyártásban" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Készlet tételek" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "Verziók" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Beszállítók" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Teljes készlet" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "Nem lefoglalt készlet" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "Variánsok Raktárkészlet" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "Paraméter sablonok másolása a kiválasztott alkatrész kategóriából" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "Meglévő kép" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "A meglévő alkatrész képfájl neve" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "A képfájl nem létezik" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "Gyártható" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Leltár riport korlátozása bizonyos alkatrészre és variánsra" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Leltár riport korlátozása bizonyos alkatrész kategóriára és az alatta lévőkre" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Leltár riport korlátozása bizonyos készlethelyre és az alatta lévőkre" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "Külső készlet nélkül" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "Külső helyeken lévő készlet nélkül" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Riport létrehozása" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "Riport fájl létrehozása a számított leltár adatokkal" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "Alaktrészek frissítése" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "Megadott alkatrészek frissítése a számított leltár adatokkal" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "Leltár funkció nincs engedélyezve" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Háttér folyamat ellenőrzés sikertelen" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Minimum ár" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "Számított minimum ár felülbírálása" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "Minimum ár pénzneme" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Maximum ár" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "Számított maximum ár felülbírálása" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "Maximum ár pénzneme" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Megadott pénznem átváltása {default_currency}-re sikertelen" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "Szülő összeállítás kiválasztása" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "Összetevő alkatrész kijelölése" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "Meglévő alkatrészjegyzék tételek törlése a másolás előtt" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "Sablon alkatrészektől örökölt alkatrészjegyzék tételek használata" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:2056 +#: part/serializers.py:2023 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" @@ -6652,8 +6749,8 @@ msgstr "Alapvető vonalkód támogatást ad" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "InvenTree fejlesztők" @@ -6980,7 +7077,7 @@ msgstr "Szegély" msgid "Print a border around each label" msgstr "Az egyes címkék körüli margó" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "Fekvő" @@ -7012,51 +7109,51 @@ msgstr "Címke túl nagy a lapmérethez képest" msgid "No labels were generated" msgstr "Nem készült címke" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "Gyártói Integráció - Digikey" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "DigiKey vonalkódok támogatása" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "A 'DigiKey' beszállító" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "Gyártói Integráció - LCSC" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "LCSC vonalkódok támogatása" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "Az 'LCSC' beszállító" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "Gyártói Integráció - Mouser" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "Mouser vonalkódok támogatása" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "A 'Mouser' beszállító" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "Gyártói Integráció - TME" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "TME vonalkódok támogatása" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "A 'TME' beszállító" @@ -7161,21 +7258,21 @@ msgstr "Bővítmény" msgid "Method" msgstr "Módszer" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "Nincs szerző" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "A '{p}' plugin nem kompatibilis az aktuális applikáció verzióval {v}" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "A pluginhoz minimum {v} verzió kell" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "A pluginhoz maximum {v} verzió kell" @@ -7204,11 +7301,11 @@ msgstr "Numerikus" msgid "A numerical setting" msgstr "Egy numerikus beállítás" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "Választás beállításai" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "Egy beállítás több választási lehetőséggel" @@ -7356,43 +7453,43 @@ msgstr "Pluginok begyűjtése" msgid "Collect plugins and add them to the registry" msgstr "Pluginok begyűjtése és a tárolóhoz adása" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "Plugin aktiválása" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "Plugin bekapcsolása" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "Konfiguráció törlése" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "Plugin konfiguráció törlése az adatbázisból" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "Tételek" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "Plugin nem található" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "Plugin nem aktív" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "Plugin nem támogatja a címkenyomtatást" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "Érvénytelen címke méretek" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "Nincs érvényes tétel megadva a sablonhoz" @@ -7416,132 +7513,140 @@ msgstr "„Letter” méret" msgid "Template file with this name already exists" msgstr "Ilyen nevű Sablon fájl már létezik" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "Sablon neve" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "Sablon leírása" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "Verziószám (automatikusan nő)" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "Fájlnév minta" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "Minta a fájlnevek előállításához" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "Sablon engedélyezve" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "A sablon által célzott model típus" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Szűrők" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "Sablon lekérdezés szűrők (vesszővel elválasztott kulcs=érték párok)" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "Sablon file" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "Lapméret a PDF riportokhoz" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "Jelentés fekvő nézetben" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Szélesség [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "Címke szélessége, mm-ben" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Magasság [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "Címke magassága, mm-ben" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "Részlet" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "Riport részlet fájl" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "Részlet fájl leírása" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "Eszköz" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "Riport asset fájl" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "Asset fájl leírása" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "Riport sablon kiválasztása" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "A jelentésben levő tételek azonosítója" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "Címke sablon választás" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "Nyomtató plugin" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "Címkenyomtató plugin kiválasztása" @@ -7568,6 +7673,8 @@ msgstr "Szükséges alapanyagok" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7603,6 +7710,7 @@ msgstr "Összesen" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7620,10 +7728,22 @@ msgstr "Köteg" msgid "Stock location items" msgstr "Készlethely tételek" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Készlet tétel teszt riport" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "Beépített tételek" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Sorozatszám" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Teszt eredmények" @@ -7648,15 +7768,6 @@ msgstr "Nincs eredmény (szükséges)" msgid "No result" msgstr "Nincs eredmény" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "Beépített tételek" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Sorozatszám" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "A fájl nem létezik" @@ -7673,123 +7784,123 @@ msgstr "part_image elem csak alkatrész példánynál használható" msgid "company_image tag requires a Company instance" msgstr "company_image elem csak cég példánynál használható" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "Hely mélységre szűrés" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "Csúcs készlethelyre szűrés" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "Szűrt eredmények tartalmazzák az alhelyeket" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "Szülő hely" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "Szülő helyre szűrés" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "Státuszkód" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "Külső hely" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "Alkatrész fa" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "Lejárat előtt" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "Lejárat után" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "Állott" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "Mennyiség megadása kötelező" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "Egy érvényes alkatrészt meg kell adni" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "A megadott beszállítói alkatrész nem létezik" -#: stock/api.py:1029 +#: stock/api.py:1048 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:1056 +#: stock/api.py:1080 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" @@ -7898,7 +8009,7 @@ msgstr "Válassz egy egyező beszállítói alkatrészt ehhez a készlet tételh msgid "Where is this stock item located?" msgstr "Hol található ez az alkatrész?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "A csomagolása ennek a készlet tételnek itt van tárolva" @@ -7914,7 +8025,7 @@ msgstr "Ez a tétel be van építve egy másik tételbe?" msgid "Serial number for this item" msgstr "Sorozatszám ehhez a tételhez" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" @@ -7970,136 +8081,136 @@ msgstr "Egy egység beszerzési ára a beszerzés időpontjában" msgid "Converted to part" msgstr "Alkatrésszé alakítva" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "Az alkatrész nem követésre kötelezett" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "Mennyiség egész szám kell legyen" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "A mennyiség nem haladhatja meg az elérhető készletet ({self.quantity})" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "A mennyiség nem egyezik a megadott sorozatszámok számával" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "Ez a Teszt sablon nem létezik" -#: stock/models.py:1886 +#: stock/models.py:1899 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:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "Készlet tétel beépül egy másikba" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "A készlet tétel más tételeket tartalmaz" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "Készlet tétel hozzárendelve egy vevőhöz" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "Készlet tétel gyártás alatt" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "A készlet tétel ugyanarra az alkatrészre kell vonatkozzon" -#: stock/models.py:1921 +#: stock/models.py:1934 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:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "Készlet tételek állapotainak egyeznie kell" -#: stock/models.py:2196 +#: stock/models.py:2209 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:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "Készlettörténet" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "Bejegyzés megjegyzései" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "Készlet Tétel Ellenőrzés Eredménye" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "Ehhez a teszthez meg kell adni értéket" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "Ehhez a teszthez fel kell tölteni mellékletet" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "A teszt eredménye érvénytelen" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Teszt eredménye" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "Teszt kimeneti értéke" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "Teszt eredmény melléklet" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "Tesztek megjegyzései" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "Teszt állomás" -#: stock/models.py:2841 +#: stock/models.py:2854 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:2847 +#: stock/models.py:2860 msgid "Started" msgstr "Elkezdődött" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "A teszt indításának időpontja" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "Befejezve" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "A teszt befejezésének időpontja" @@ -8171,201 +8282,201 @@ msgstr "Szülő készlet tétel" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Csomagolási mennyiség használata: a megadott mennyiség ennyi csomag" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "Beszállítói Cikkszám" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "Lejárt" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "Gyermek tételek" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "Nyilvántartott tételek" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "Készlet tétel beszerzési ára, per darab vagy csomag" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "Add meg hány készlet tételt lássunk el sorozatszámmal" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "A mennyiség nem lépheti túl a rendelkezésre álló készletet ({q})" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "Cél készlet hely" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "Opcionális megjegyzés mező" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "Válaszd ki a beépítésre szánt készlet tételt" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "Beépítendő mennyiség" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "Adja meg a beépítendő mennyiséget" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "Tranzakció megjegyzés hozzáadása (opcionális)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "A beépítendő mennyiség legalább 1 legyen" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "Készlet tétel nem elérhető" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "A beépítendő mennyiség nem haladhatja meg az elérhető mennyiséget" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "Cél hely a kiszedett tételeknek" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "Válassz alkatrészt amire konvertáljuk a készletet" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "A kiválasztott alkatrész nem megfelelő a konverzióhoz" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Készlet tétel hozzárendelt beszállítói alkatrésszel nem konvertálható" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "Készlet tétel státusz kódja" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "Cél hely a visszatérő tételeknek" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "Válaszd ki a státuszváltásra szánt készlet tételeket" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "Nincs készlet tétel kiválasztva" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Alhelyek" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "Felsőbb szintű készlet hely" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "Különböző beszállítói alkatrészekből származó készletek összevonásának engedélyezése" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "Különböző állapotú készletek összevonásának engedélyezése" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "Nincs változás" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index d8d419c60b..ea6bd30962 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "Anda harus mengaktifkan autentikasi dua faktor sebelum melakukan hal lainnya." -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API endpoint tidak ditemukan" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "Daftar item atau filter harus disediakan untuk Pekerjaan Banyak" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "Barang harus disediakan sebagai daftar" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Pengguna tidak memiliki izin untuk melihat model ini" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Catatan" @@ -356,7 +356,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "Surel" @@ -408,19 +408,19 @@ msgstr "" msgid "Invalid choice" msgstr "Pilihan tidak valid" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Nama" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Keterangan" msgid "Description (optional)" msgstr "Keterangan (opsional)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Direktori" @@ -479,11 +479,11 @@ msgstr "Sebuah kesalahan telah dicatat oleh server." msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Mata Uang" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "" @@ -527,29 +527,29 @@ msgstr "Kelebihan tidak boleh melebihi 100%" msgid "Invalid value for overage" msgstr "Nilai kelebihan tidak valid" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Produksi Induk" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "Bagian" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Tersedia" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Kode status pembuatan" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Kode Kelompok" @@ -854,7 +854,7 @@ msgstr "Diserahkan oleh" msgid "User who issued this build order" msgstr "Pengguna yang menyerahkan order ini" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "Tautan eksternal" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Tautan menuju URL eksternal" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Tidak ada hasil produksi yang ditentukan" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Hasil produksi sudah selesai" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Jumlah" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Jumlah harus 1 untuk stok dengan nomor seri" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Stok Item" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Sumber stok item" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Jumlah stok yang dialokasikan ke produksi" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Pasang ke" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Tujuan stok item" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Jumlah harus angka bulat karena terdapat bagian yang dapat dilacak dalam daftar barang" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Nomor Seri" @@ -1070,10 +1071,10 @@ msgstr "Masukkan nomor seri untuk hasil pesanan" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Lokasi" @@ -1089,8 +1090,8 @@ 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:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid" @@ -1222,7 +1223,7 @@ msgstr "" 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:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "Item tagihan material" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "Dibatalkan" msgid "Complete" msgstr "Selesai" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "Stok dibutuhkan untuk order produksi" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "Pengguna" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Harga" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktif" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Judul" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Tautan" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Kesimpulan" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Berkas Gambar" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Lampiran" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "File tidak ditemukan" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Tautan eksternal tidak ditemukan" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Pilih file untuk dilampirkan" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Komentar" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "Ukuran Berkas" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "Label" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "Model" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Terbuat" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "Respon" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Nama File" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Nama Perusahaan" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "Hari" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Komponen" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Aktifkan Laporan" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Ukuran Halaman" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "Surel diperlukan" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "Aktifkan Integrasi Antarmuka" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Perusahaan" @@ -3513,331 +3638,331 @@ msgstr "Perusahaan" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Perusahaan" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Deskripsi Perusahaan" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Laman" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Nomor Ponsel" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Kontak alamat surel" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Kontak" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Kode Pos" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Status" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "Tolak" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Tanggal" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Aktif" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Harga Minimal" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Harga Maksimal" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Perbarui" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "Kontributor InvenTree" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "Letter" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "Lampiran perlu diunggah untuk tes ini" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index 0daecd8cc3..f2160c52fc 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "Devi abilitare l'autenticazione a due fattori prima di fare qualsiasi altra cosa." -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "Endpoint API non trovato" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "L'elenco degli articoli o dei filtri devono essere forniti per le operazioni di massa" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "Gli articoli devono essere forniti come elenco" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "Lista elementi fornita non valida" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" -msgstr "" +msgstr "I filtri devono essere forniti come dizionario" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "Filtri forniti non validi" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "Tutti i filtri devono essere usati solo con true" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "Nessun elemento corrisponde ai criteri forniti" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "L'utente non ha i permessi per vedere questo modello" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "Valore decimale non valido" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Note" @@ -158,7 +158,7 @@ msgstr "Nessun numero di serie trovato" #: InvenTree/helpers.py:723 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" -msgstr "" +msgstr "Il numero dei numeri seriali univoci ({n}) deve essere uguale alla quantità ({q})" #: InvenTree/helpers.py:841 msgid "Remove HTML tags from this value" @@ -356,7 +356,7 @@ msgstr "Cinese (Tradizionale)" msgid "Log in to the app" msgstr "Accedi all'app" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "Email" @@ -408,19 +408,19 @@ msgstr "Nomi duplicati non possono esistere sotto lo stesso genitore" msgid "Invalid choice" msgstr "Scelta non valida" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Descrizione" msgid "Description (optional)" msgstr "Descrizione (opzionale)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Percorso" @@ -479,11 +479,11 @@ msgstr "Un errore è stato loggato dal server." msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Selezionare la valuta dalle opzioni disponibili" @@ -527,29 +527,29 @@ msgstr "L'eccesso non deve superare il 100%" msgid "Invalid value for overage" msgstr "Valore non valido per eccedenza" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Stato dell'ordine" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Produzione Genitore" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "Includi Varianti" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "Includi Varianti" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "Includi Varianti" msgid "Part" msgstr "Articolo" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Categoria" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "Produzione Antenata" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "Assegnato a me" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Inviato da" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "Assegnato a" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "Creato prima" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "Creato dopo" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "Ha data d'inizio" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "Data d'inizio prima" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "Data d'inizio dopo" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "Ha data di fine" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "Data obiettivo prima" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "Data obiettivo dopo" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "Completato prima" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "Completato dopo" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "Data minima" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "Data massima" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "Escludi Albero" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Opzionale" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Assemblaggio" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Monitorato" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Testabile" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "Ordine In Corso" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Allocato" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Disponibile" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -712,7 +712,7 @@ msgstr "Scelta non valida per la produzione genitore" #: build/models.py:198 msgid "Build orders can only be externally fulfilled for purchaseable parts" -msgstr "" +msgstr "Gli ordini di costruzione possono essere eseguiti solo esternamente per gli articoli acquistabili" #: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" @@ -770,11 +770,11 @@ msgstr "Seleziona la posizione da cui prelevare la giacenza (lasciare vuoto per #: build/models.py:299 msgid "External Build" -msgstr "" +msgstr "Build Esterno" #: build/models.py:300 msgid "This build order is fulfilled externally" -msgstr "" +msgstr "Questo ordine di produzione è eseguito esternamente" #: build/models.py:305 msgid "Destination Location" @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Codice stato di produzione" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Codice Lotto" @@ -854,7 +854,7 @@ msgstr "Rilasciato da" msgid "User who issued this build order" msgstr "Utente che ha emesso questo ordine di costruzione" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Utente o gruppo responsabile di questo ordine di produzione" msgid "External Link" msgstr "Collegamento esterno" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link a URL esterno" @@ -881,7 +881,7 @@ msgstr "Priorità di produzione" msgid "Priority of this build order" msgstr "Priorità di questo ordine di produzione" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Codice del progetto" @@ -903,51 +903,50 @@ msgstr "L'ordine di produzione {build} è stato completato" msgid "A build order has been completed" msgstr "L'ordine di produzione è stato completato" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "Deve essere fornita un numero di serie per gli articoli rintracciabili" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Nessun output di produzione specificato" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "La produzione è stata completata" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "La quantità non può essere maggiore della quantità in uscita" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "L'output della build {serial} non ha superato tutti i test richiesti" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "Elemento di Riga Ordine di Produzione" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Crea oggetto" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Crea oggetto" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Quantità" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Quantità richiesta per l'ordine di costruzione" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità disponibile ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "La quantità deve essere 1 per lo stock serializzato" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "L'articolo in stock selezionato non corrisponde alla voce nella BOM" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Articoli in magazzino" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Origine giacenza articolo" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Quantità di magazzino da assegnare per la produzione" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Installa in" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Destinazione articolo in giacenza" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Quantità totale richiesta, poiché la fattura dei materiali contiene articoli rintracciabili" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Codice Seriale" @@ -1070,10 +1071,10 @@ msgstr "Inserisci i numeri di serie per gli output di compilazione (build option #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Posizione" @@ -1089,8 +1090,8 @@ 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:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" @@ -1222,7 +1223,7 @@ msgstr "Articolo linea di produzione" 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:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" @@ -1299,13 +1300,13 @@ msgstr "Nome Articolo BOM" msgid "Build" msgstr "Costruzione" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "Articolo Fornitore" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "Quantità assegnata" @@ -1317,7 +1318,7 @@ msgstr "Riferimento Ordine Di Costruzione" msgid "Part Category Name" msgstr "Nome Categoria Articolo" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Tracciabile" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "Consenti Le Varianti" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "Distinta base (Bom)" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "Scorte Assegnate" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "Ordinato" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "In Produzione" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "Scorte esterne" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Disponibilità in magazzino" @@ -1391,32 +1392,32 @@ msgstr "Annullato" msgid "Complete" msgstr "Completo" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "Giacenza richiesta per l'ordine di produzione" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "Ordine di produzione in ritardo" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "L'ordine di produzione {bo} è in ritardo" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "È Un Connegamento" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "E' un file" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "L'utente non ha il permesso di eliminare questi allegati" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "L'utente non ha il permesso di eliminare questo allegato" @@ -1436,61 +1437,61 @@ msgstr "Nessun codice valuta valido fornito" msgid "No plugin" msgstr "Nessun plugin" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Aggiornato" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Orario dell'ultimo aggiornamento" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Codice unico del progetto" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Descrizione del progetto" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "Utente o gruppo responsabile di questo progetto" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "Tasto impostazioni" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Valore impostazioni" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "Il valore specificato non è un opzione valida" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "Il valore deve essere un valore booleano" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "Il valore deve essere un intero" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "Il valore deve essere un numero valido" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "Il valore non supera i controlli di convalida" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "La stringa chiave deve essere univoca" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "La stringa chiave deve essere univoca" msgid "User" msgstr "Utente" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Prezzo" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "Prezzo unitario in quantità specificata" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Scadenza" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "Scadenza in cui questa notifica viene ricevuta" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "Nome per questa notifica" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Attivo" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "È questa notifica attiva" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "Token per l'accesso" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Segreto" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "Segreto condiviso per HMAC" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "ID Messaggio" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "Identificatore unico per questo messaggio" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "Host" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "Host da cui questo messaggio è stato ricevuto" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Intestazione" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "Intestazione di questo messaggio" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Contenuto" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "Contenuto di questo messaggio" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "Scadenza in cui questo messaggio è stato ricevuto" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "Lavorato il" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "Il lavoro su questo messaggio è terminato?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "Id" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Titolo" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Collegamento" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Pubblicato" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Autore" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Riepilogo" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Letto" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "Queste notizie sull'elemento sono state lette?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Immagine" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "File immagine" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "Tipo di modello di destinazione per questa immagine" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "ID modello di destinazione per questa immagine" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "Unità Personalizzata" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "Il simbolo dell'unità deve essere univoco" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "Il nome dell'unità deve essere un identificatore valido" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "Nome dell'unità" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Simbolo" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "Simbolo unità opzionale" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Definizione" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Definizione unità" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Allegato" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "File mancante" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Link esterno mancante" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "Tipo modello" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "Tipo di modello di destinazione per l'immagine" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Seleziona file da allegare" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Commento" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "Commento allegato" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "Data caricamento" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "Data di caricamento del file" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "Dimensione file" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "Dimensioni file in byte" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "Tipo di modello specificato per l'allegato non valido" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "Stato Personalizzato" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "Stati Personalizzati" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "Imposta Stato Di Riferimento" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "Set di stato esteso con questo stato personalizzato" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Chiave Logica" -#: common/models.py:2032 +#: common/models.py:2041 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:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Valore" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "Valore numerico che verrà salvato nel database dei modelli" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "Nome dello Stato" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "Etichetta" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "Etichetta che verrà visualizzata nel frontend" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "Colore" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "Colore che verrà visualizzato nel frontend" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "Modello" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "Modello a cui questo stato è associato" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "Il modello deve essere selezionato" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "La chiave deve essere selezionata" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "La chiave logica deve essere selezionata" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "La chiave deve essere diversa dalla chiave logica" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "Deve essere fornita una classe di stato di riferimento valida" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "La chiave deve essere diversa dalle chiavi logiche dello stato di riferimento" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "La chiave logica deve essere nelle chiavi logiche dello stato di riferimento" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "Il nome deve essere diverso dai nomi dello stato di riferimento" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "Elenco Selezioni" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "Elenchi di Selezione" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "Nome dell'elenco di selezione" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "Descrizione della lista di selezione" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "Bloccato" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "Questa lista di selezione è bloccata?" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "Questo elenco di selezione può essere utilizzato?" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "Plugin Sorgente" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "Plugin che fornisce l'elenco di selezione" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "Stringa Sorgente" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "Stringa opzionale che identifica il sorgente usato per questa lista" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "Voce Predefinita" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "Voce predefinita per questo elenco di selezione" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Creato" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "Data e ora in cui è stato creato l'elenco di selezione" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Ultimo aggiornamento" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "Data e ora in cui l'elenco di selezione è stato aggiornato" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "Voce Lista Selezione" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "Voci Lista Selezione" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "Elenco di selezione a cui appartiene questa voce" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "Valore della voce della lista di selezione" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "Etichetta per la voce elenco di selezione" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "Descrizione della voce della lista di selezione" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "Questa voce della lista di selezione è attiva?" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "Scansione Codice A Barre" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Dati" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "Dati del Codice a Barre" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "Utente che ha scannerizzato il codice a barre" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "Data e ora" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "Data e ora della scansione del codice a barre" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "Endpoint URL che ha elaborato il codice a barre" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Contesto" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "Dati contestuali per la scansione del codice a barre" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "Risposta" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "Dati di risposta dalla scansione del codice a barre" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Risultato" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "La scansione del codice a barre è riuscita?" +#: common/models.py:2469 +msgid "Email Message" +msgstr "Messaggio email" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "Messaggi email" + +#: common/models.py:2477 +msgid "Announced" +msgstr "Annunciato" + +#: common/models.py:2479 +msgid "Sent" +msgstr "Inviato" + +#: common/models.py:2480 +msgid "Failed" +msgstr "Fallito" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "Consegnato" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "Confermato" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "Ricevuti" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "In uscita" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "Nessuna risposta" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "Traccia La Consegna" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "ID Globale" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "Identificatore per questo messaggio (potrebbe essere fornito da un sistema esterno)" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "ID discussione" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "Identificatore per questo thread del messaggio (potrebbe essere fornito da un sistema esterno)" + +#: common/models.py:2540 +msgid "Thread" +msgstr "Discussione" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "Thread collegato a questo messaggio" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "Priorità" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "Discussione Email" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "Discussioni Email" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Chiave" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "Chiave univoca per questa discussione (usata per identificare la discussione)" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "Identificatore univoco per questa discussione" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "Questa discussione è iniziata internamente?" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "Data e ora in cui la discussione è stata creata" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "Data e ora in cui la discussione è stata aggiornata" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "In Esecuzione" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "Attività in sospeso" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Attività pianificate" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Attività Fallite" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "ID Attività" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "ID attività univoco" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "Blocco" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Tempo di blocco" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Nome attività" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Funzione" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Nome della funzione" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Argomenti" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Argomenti attività" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "Argomenti Parole Chiave" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "Argomenti parole chiave attività" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Nome del file" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "Tipo di modello" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "L'utente non ha il permesso di creare o modificare allegati per questo modello" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "Lista di selezione bloccata" @@ -2104,1073 +2221,1089 @@ msgstr "Nessun gruppo" msgid "Site URL is locked by configuration" msgstr "L'URL del sito è bloccato dalla configurazione" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Riavvio richiesto" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "È stata modificata un'impostazione che richiede un riavvio del server" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Migrazioni in sospeso" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Nome Istanza Del Server" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "Descrittore stringa per l'istanza del server" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Utilizza nome istanza" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "Usa il nome dell'istanza nella barra del titolo" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "Limita visualizzazione `Informazioni`" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "Mostra la modalità `Informazioni` solo ai superusers" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Nome azienda" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Nome interno dell'azienda" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "URL Base" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "URL di base per l'istanza del server" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Valuta predefinita" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "giorni" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Scarica dall'URL" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Consenti il download di immagini e file remoti da URL esterno" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "Limite Dimensione Download" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "Dimensione massima consentita per il download dell'immagine remota" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "User-agent utilizzato per scaricare dall'URL" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Consenti di sovrascrivere l'user-agent utilizzato per scaricare immagini e file da URL esterno (lasciare vuoto per il predefinito)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Aggiorna intervallo di controllo" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "Quanto spesso controllare gli aggiornamenti (impostare a zero per disabilitare)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Backup automatico" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Abilita il backup automatico di database e file multimediali" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Intervallo Di Backup Automatico" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Definisci i giorni intercorrenti tra un backup automatico e l'altro" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "I risultati delle attività in background verranno eliminati dopo un determinato numero di giorni" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "I log di errore verranno eliminati dopo il numero specificato di giorni" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Le notifiche dell'utente verranno eliminate dopo il numero di giorni specificato" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Supporto Codice A Barre" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "Memorizza Risultati Barcode" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "Memorizza i risultati della scansione del codice a barre nel database" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "Numero Massimo Scansioni Barcode" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "Numero massimo di risultati della scansione del codice a barre da memorizzare" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "Codice a barre inserito scaduto" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "Tempo di ritardo di elaborazione codice a barre" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "Codice a Barre Supporto Webcam" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "Consenti la scansione del codice a barre tramite webcam nel browser" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "Abilita il campo revisione per l'articolo" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "Schema di espressione regolare per l'articolo corrispondente IPN" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Consenti duplicati IPN" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "Permetti a più articoli di condividere lo stesso IPN" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "Permetti modifiche al part number interno (IPN)" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "Consenti di modificare il valore del part number durante la modifica di un articolo" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Copia I Dati Della distinta base dell'articolo" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "Copia i dati della Distinta Base predefinita quando duplichi un articolo" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "Copia I Dati Parametro dell'articolo" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "Copia i dati dei parametri di default quando si duplica un articolo" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "Copia I Dati dell'Articolo Test" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "Copia i dati di prova di default quando si duplica un articolo" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "Copia Template Parametri Categoria" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "Copia i modelli dei parametri categoria quando si crea un articolo" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Modello" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "Gli articoli sono modelli per impostazione predefinita" -#: common/setting/system.py:430 +#: common/setting/system.py:443 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:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Componente" -#: common/setting/system.py:436 +#: common/setting/system.py:449 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:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Acquistabile" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Vendibile" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "Gli articoli sono acquistabili per impostazione predefinita" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "Gli articoli sono tracciabili per impostazione predefinita" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Virtuale" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Gli articoli sono virtuali per impostazione predefinita" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Mostra articoli correlati" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Visualizza parti correlate per ogni articolo" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "Dati iniziali dello stock" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "Consentire la creazione di uno stock iniziale quando si aggiunge una nuova parte" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "Dati iniziali del fornitore" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Consentire la creazione dei dati iniziali del fornitore quando si aggiunge una nuova parte" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Formato di visualizzazione del nome articolo" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Formato per visualizzare il nome dell'articolo" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "Icona predefinita Categoria Articolo" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "Icona predefinita Categoria Articolo (vuoto significa nessuna icona)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" -msgstr "" +msgstr "Forza Unità Parametro" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" -msgstr "" - -#: common/setting/system.py:506 -msgid "Minimum Pricing Decimal Places" -msgstr "" - -#: common/setting/system.py:508 -msgid "Minimum number of decimal places to display when rendering pricing data" -msgstr "" +msgstr "Se le unità sono fornite, i valori dei parametri devono corrispondere alle unità specificate" #: common/setting/system.py:519 -msgid "Maximum Pricing Decimal Places" -msgstr "" +msgid "Minimum Pricing Decimal Places" +msgstr "Prezzi Minimi Decimali" #: common/setting/system.py:521 -msgid "Maximum number of decimal places to display when rendering pricing data" -msgstr "" +msgid "Minimum number of decimal places to display when rendering pricing data" +msgstr "Numero minimo di decimali da visualizzare quando si visualizzano i dati dei prezzi" #: common/setting/system.py:532 +msgid "Maximum Pricing Decimal Places" +msgstr "Prezzi Massimi Decimali" + +#: common/setting/system.py:534 +msgid "Maximum number of decimal places to display when rendering pricing data" +msgstr "Numero massimo di decimali da visualizzare quando si visualizzano i dati dei prezzi" + +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Usa Prezzi Fornitore" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Includere le discontinuità di prezzo del fornitore nei calcoli generali dei prezzi" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Ignora la Cronologia Acquisti" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Cronologia dei prezzi dell'ordine di acquisto del fornitore superati con discontinuità di prezzo" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "Utilizzare i prezzi degli articoli in stock" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Utilizzare i prezzi dei dati di magazzino inseriti manualmente per il calcolo dei prezzi" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "Età dei prezzi degli articoli in stock" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Escludere dal calcolo dei prezzi gli articoli in giacenza più vecchi di questo numero di giorni" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "Utilizza Variazione di Prezzo" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "Includi la variante dei prezzi nei calcoli dei prezzi complessivi" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "Solo Varianti Attive" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "Utilizza solo articoli di varianti attive per calcolare i prezzi delle varianti" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "Numero di giorni prima che il prezzo dell'articolo venga aggiornato automaticamente" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Prezzi interni" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "Abilita prezzi interni per gli articoli" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Sovrascrivi Prezzo Interno" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "Se disponibile, i prezzi interni sostituiscono i calcoli della fascia di prezzo" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Abilita stampa etichette" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Abilita la stampa di etichette dall'interfaccia web" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "Etichetta Immagine DPI" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Risoluzione DPI quando si generano file di immagine da fornire ai plugin di stampa per etichette" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Abilita Report di Stampa" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Abilita generazione di report di stampa" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Modalità Debug" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "Genera report in modalità debug (output HTML)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Dimensioni pagina" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Dimensione predefinita della pagina per i report PDF" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "Seriali Unici Globali" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "I numeri di serie per gli articoli di magazzino devono essere univoci" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "Elimina scorte esaurite" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "Modello Codice a Barre" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "Modello per la generazione di codici batch predefiniti per gli elementi stock" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "Scadenza giacenza" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "Abilita funzionalità di scadenza della giacenza" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "Vendi giacenza scaduta" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "Consenti la vendita di stock scaduti" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "Tempo di Scorta del Magazzino" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "Numero di giorni in cui gli articoli in magazzino sono considerati obsoleti prima della scadenza" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "Crea giacenza scaduta" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "Permetti produzione con stock scaduto" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "Controllo della proprietà della giacenza" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "Abilita il controllo della proprietà sulle posizioni e gli oggetti in giacenza" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "Icona Predefinita Ubicazione di Magazzino" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "Icona Predefinita Ubicazione di Magazzino (vuoto significa nessuna icona)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Produzione" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di produzione" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "Impedisci la creazione di ordini di costruzione per le parti sbloccate" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "Richiede un BOM valido" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "Previene la creazione di ordini di costruzione a meno che BOM non sia stato convalidato" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "Richiedi Ordini Dei Figli Chiusi" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "Impedisci il completamento dell'ordine di costruzione fino alla chiusura di tutti gli ordini figli" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "Blocca Fino Al Passaggio Dei Test" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Impedisci che gli output di costruzione siano completati fino al superamento di tutti i test richiesti" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "Abilita Ordini Di Reso" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "Abilita la funzionalità ordine di reso nell'interfaccia utente" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "Motivo di Riferimento per ordine di reso" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di reso" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "Modifica Ordini Di Reso Completati" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "Consenti la modifica degli ordini di reso dopo che sono stati completati" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "Modello Di Riferimento Ordine Di Vendita" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di vendita" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "Spedizione Predefinita Ordine Di Vendita" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "Abilita la creazione di spedizioni predefinite con ordini di vendita" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "Modifica Ordini Di Vendita Completati" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Consenti la modifica degli ordini di vendita dopo che sono stati spediti o completati" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "Segna gli ordini spediti come completati" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Gli ordini di vendita contrassegnati come spediti saranno automaticamente completati, bypassando lo stato \"spedito\"" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "Modello di Riferimento Ordine D'Acquisto" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modello richiesto per generare il campo di riferimento ordine di acquisto" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "Modifica Ordini Di Acquisto Completati" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Consenti la modifica degli ordini di acquisto dopo che sono stati spediti o completati" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "Converti Valuta" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "Converti il valore dell'elemento in valuta base quando si riceve lo stock" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "Completa Automaticamente Gli Ordini D'Acquisto" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Contrassegna automaticamente gli ordini di acquisto come completi quando tutti gli elementi della riga sono ricevuti" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Abilita password dimenticata" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Abilita la funzione password dimenticata nelle pagine di accesso" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Abilita registrazione" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Abilita auto-registrazione per gli utenti nelle pagine di accesso" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "SSO abilitato" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "Abilita SSO nelle pagine di accesso" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "Abilita registrazione SSO" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Abilita l'auto-registrazione tramite SSO per gli utenti nelle pagine di accesso" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "Abilita sincronizzazione dei gruppi SSO" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "Abilita la sincronizzazione dei gruppi InvenTree con i gruppi forniti dall'IdP" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "Chiave gruppo SSO" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "Il nome dell'attributo di richiesta di gruppi fornito dall'IdP" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "Mappa del gruppo SSO" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "Una mappatura dai gruppi SSO ai gruppi InvenTree locali. Se il gruppo locale non esiste, verrà creato." -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "Rimuovere i gruppi al di fuori dell'SSO" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "Indica se i gruppi assegnati all'utente debbano essere rimossi se non sono backend dall'IdP. La disattivazione di questa impostazione potrebbe causare problemi di sicurezza" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "Email richiesta" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "Richiedi all'utente di fornire una email al momento dell'iscrizione" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "Riempimento automatico degli utenti SSO" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "Compila automaticamente i dettagli dell'utente dai dati dell'account SSO" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "Posta due volte" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "Al momento della registrazione chiedere due volte all'utente l'indirizzo di posta elettronica" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Password due volte" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "Al momento della registrazione chiedere agli utenti due volte l'inserimento della password" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Domini consentiti" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Limita la registrazione a determinati domini (separati da virgola, a partire da @)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Gruppo iscrizione" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "Gruppo a cui i nuovi utenti sono assegnati alla registrazione. Se la sincronizzazione di gruppo SSO è abilitata, questo gruppo è impostato solo se nessun gruppo può essere assegnato dall'IdP." -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "Applica MFA" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "Gli utenti devono utilizzare la sicurezza a due fattori." -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "Controlla i plugin all'avvio" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Controlla che tutti i plugin siano installati all'avvio - abilita in ambienti contenitore" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "Controlla gli aggiornamenti dei plugin" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "Abilita controlli periodici per gli aggiornamenti dei plugin installati" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "Abilita l'integrazione URL" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "Attiva plugin per aggiungere percorsi URL" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "Attiva integrazione navigazione" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "Abilita i plugin per l'integrazione nella navigazione" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "Abilita l'app integrata" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "Abilita plugin per aggiungere applicazioni" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "Abilita integrazione pianificazione" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "Abilita i plugin per eseguire le attività pianificate" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "Abilita eventi integrati" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "Abilita plugin per rispondere agli eventi interni" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "Abilita integrazione interfaccia" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "Abilita i plugin per l'integrazione nell'interfaccia utente" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "Abilita codici progetto" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "Abilita i codici del progetto per tracciare i progetti" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "Funzionalità Dell'Inventario" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Abilita la funzionalità d'inventario per la registrazione dei livelli di magazzino e il calcolo del valore di magazzino" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "Escludi Posizioni Esterne" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Escludere le scorte in sedi esterne dai calcoli delle scorte" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "Inventario periodico automatico" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Numero di giorni tra la registrazione automatica dell'inventario (imposta 0 per disabilitare)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "Intervallo Di Eliminazione Report" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "I rapporti d'inventario verranno eliminati dopo il numero specificato di giorni" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "Visualizza i nomi completi degli utenti" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "Mostra nomi completi degli utenti invece che nomi utente" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "Visualizza Profili Utente" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "Visualizza i profili degli utenti sulla pagina del loro profilo" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "Abilita Dati Stazione Di Prova" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "Abilita la raccolta dati della stazione di prova per i risultati del test" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "Crea modello al caricamento" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "Crea un nuovo modello di test quando si caricano dati di test che non corrispondono a un modello esistente" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "Formato predefinito per visualizzare le date" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Programmazione Prodotto" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "Mostra informazioni sulla pianificazione del prodotto" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "Inventario Prodotto" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Visualizza le informazioni d'inventario dell'articolo (se la funzionalità d'inventario è abilitata)" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "Mostra L'Ultimo Breadcrumb" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "Mostra la pagina corrente nel Breadcrumb" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "Ricevi segnalazioni di errore" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "Ricevi notifiche per errori di sistema" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "Ultime stampanti usate" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "Salva le ultime stampanti usate da un'utente" @@ -3499,13 +3624,13 @@ msgstr "L'articolo interno è attivo" msgid "Supplier is Active" msgstr "Il fornitore è attivo" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Produttore" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Azienda" @@ -3513,331 +3638,331 @@ msgstr "Azienda" msgid "Has Stock" msgstr "Ha Scorte" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Aziende" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Descrizione azienda" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "Descrizione dell'azienda" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Sito Web" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "Sito web aziendale" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Telefono" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Numero di telefono di contatto" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Indirizzo email" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Contatto" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "Punto di contatto" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "Collegamento alle informazioni aziendali esterne" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "Questa azienda è attiva?" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "È un cliente" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "Vendi oggetti a questa azienda?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "È un fornitore" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "Acquistate articoli da questa azienda?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "È un produttore" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "Questa azienda produce articoli?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "Valuta predefinita utilizzata per questa azienda" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Indirizzo" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Indirizzi" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Seleziona azienda" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "Titolo indirizzo" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "Titolo che descrive la voce indirizzo" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Indirizzo Principale" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Imposta come indirizzo primario" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "Linea 1" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "Indirizzo (linea 1)" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "Linea 2" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "Indirizzo (linea 2)" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "CAP" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Città/Regione" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "Codice postale città/regione" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "Stato/Provincia" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "Stato o provincia" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "Nazione" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "Indirizzo Paese" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "Note di spedizione del corriere" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "Note per il corriere di spedizione" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "Note di spedizione interne" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "Note di spedizione per uso interno" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Codice articolo produttore" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Articolo di base" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Seleziona articolo" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Seleziona Produttore" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "Codice articolo produttore (MPN)" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Codice articolo produttore" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "Descrizione articolo costruttore" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Nome parametro" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Valore del parametro" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Unità" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Unità parametri" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Fornitore" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Selezionare un produttore" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "URL dell'articolo del fornitore" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "Descrizione articolo fornitore" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Nota" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "costo base" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Confezionamento" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "Imballaggio del pezzo" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "Quantità Confezione" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "multiplo" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "Ordine multiplo" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "Quantità disponibile dal fornitore" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "Disponibilità Aggiornata" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "Data dell’ultimo aggiornamento dei dati sulla disponibilità" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "Valuta predefinita utilizzata per questo fornitore" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "In magazzino" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "Valido" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "Riferimento ordine" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Stato" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "La quantità deve essere un numero positivo" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "Ricevuto" msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "Prezzo di Acquisto" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" @@ -5046,130 +5167,114 @@ msgstr "Rimborso" msgid "Reject" msgstr "Rifiuta" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "Ordine D'Acquisto in ritardo" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "L'ordine d'acquisto {po} è in ritardo" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "Ordini Di Vendita in ritardo" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "L'ordine di vendita {so} è ora in ritardo" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "Ordini di Reso in Ritardo" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "L'ordine di reso {ro} è ora in ritardo" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "Preferiti" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "Filtra per categorie preferite" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "Profondità" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "Filtra per profondità categoria" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "Livello principale" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "Filtra per categorie di primo livello" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "Cascata" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "Includi sottocategorie nei risultati filtrati" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "Genitore" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "Filtra per categoria genitore" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "Escludi sottocategorie sotto la categoria specificata" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "Ha Risultati" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "Ordine D'Acquisto In Arrivo" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "Ordine di Vendita in Uscita" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "Giacenza prodotta dall'Ordine di Costruzione" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "Giacenza richiesta per l'Ordine di Produzione" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "Convalida l'intera Fattura dei Materiali" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "Questa opzione deve essere selezionata" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "È una Variante" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "E' una revisione" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "Ha revisioni" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "BOM Valido" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "L'articolo assemblato è provabile" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "Il componente è provabile" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "Utilizzi" @@ -5219,7 +5324,7 @@ msgstr "Icona (facoltativa)" 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:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Articoli" @@ -5335,7 +5440,7 @@ msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN - Numero di riferimento interno" @@ -5344,7 +5449,7 @@ msgstr "IPN - Numero di riferimento interno" msgid "Part revision or version number" msgstr "Numero di revisione o di versione" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Revisione" @@ -5376,7 +5481,7 @@ msgstr "Scadenza Predefinita" 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:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Scorta Minima" @@ -5612,7 +5717,7 @@ msgstr "Numero di scorte individuali al momento dell'inventario" msgid "Total available stock at time of stocktake" msgstr "Totale delle scorte disponibili al momento dell'inventario" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Data" @@ -5713,7 +5818,7 @@ msgstr "Descrizione Di Prova" msgid "Enter description for this test" msgstr "Inserisci descrizione per questa prova" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Abilitato" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "Quantità Speculativa" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "ID Modello" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "Copia parametri" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Specificare la quantità iniziale disponibile per questo Articolo. Se la quantità è zero, non viene aggiunta alcuna quantità." -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Nome Categoria" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "In Costruzione" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Articoli in magazzino" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Fornitori" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Giacenze Totali" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "Puoi produrre" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitare il report d'inventario ad un articolo particolare e a eventuali articoli varianti" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limita il report d'inventario ad una particolare categoria articolo, e a eventuali categorie secondarie" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limita il report d'inventario ad una particolare ubicazione di magazzino, e a eventuali ubicazioni secondarie" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Genera Report" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "Genera file di report contenente dati di inventario calcolati" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "Aggiorna Articoli" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "Aggiorna gli articoli specificati con i dati calcolati di inventario" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "La funzione Inventario non è abilitata" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Controllo in background non riuscito" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Prezzo Massimo" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" @@ -6651,8 +6748,8 @@ msgstr "Fornisce supporto nativo per codici a barre" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "Contributi d'InvenTree" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "Metodo" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "Nessun autore trovato" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "Numerico" msgid "A numerical setting" msgstr "Un'impostazione numerica" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "Scegli l'impostazione" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "Un'impostazione con scelte multiple" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "Nome modello" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "Descrizione del template" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "Allega al Modello su Stampa" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Salva l'output del report come allegato contro l'istanza del modello collegato durante la stampa" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "Formato del nome file" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Filtri" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Larghezza [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Altezza [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "Larghezza dell'etichetta, specificata in mm" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "Report file snippet" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "Descrizione file snippet" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "Risorsa" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "Report file risorsa" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "File risorsa descrizione" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "Materiali necessari" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "Totale" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "Lotto" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Test Report Elemento Stock" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "Elementi installati" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Seriale" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Risultati Test" @@ -7647,15 +7767,6 @@ msgstr "Nessun risultato (richiesto)" msgid "No result" msgstr "Nessun risultato" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "Elementi installati" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Seriale" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "Nome della parte (maiuscole e minuscole)" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "Il nome della parte contiene (maiuscole e minuscole)" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "Nome della parte (regex)" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "IPN della parte (maiuscole e minuscole)" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "IPN della parte contiene (maiuscole e minuscole)" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "IPN della parte (regex)" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "Giacenza minima" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "Giacenza massima" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "Codici di stato" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "Ubicazione Esterna" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "Obsoleto" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "La quantità è richiesta" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "Deve essere fornita un articolo valido" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 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" @@ -7897,7 +8008,7 @@ msgstr "Seleziona un fornitore articolo corrispondente per questo elemento di ma msgid "Where is this stock item located?" msgstr "Dove si trova questo articolo di magazzino?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "Imballaggio di questo articolo di magazzino è collocato in" @@ -7913,7 +8024,7 @@ msgstr "Questo elemento è stato installato su un altro elemento?" msgid "Serial number for this item" msgstr "Numero di serie per questo elemento" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "Codice lotto per questo elemento di magazzino" @@ -7969,136 +8080,136 @@ msgstr "Prezzo di acquisto unitario al momento dell’acquisto" msgid "Converted to part" msgstr "Convertito in articolo" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "L'articolo non è impostato come tracciabile" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "La quantità deve essere un numero intero" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "I numeri di serie devono essere forniti come elenco" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "La quantità non corrisponde ai numeri di serie" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 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:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "L'elemento di magazzino è installato in un altro elemento" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "L'elemento di magazzino contiene altri elementi" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "L'elemento di magazzino è stato assegnato a un cliente" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "L'elemento di magazzino è attualmente in produzione" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "Il magazzino serializzato non può essere unito" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "Gli elementi di magazzino devono riferirsi allo stesso articolo fornitore" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "I codici di stato dello stock devono corrispondere" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "Le giacenze non possono essere spostate perché non disponibili" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "Note d'ingresso" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "Il valore deve essere fornito per questo test" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "L'allegato deve essere caricato per questo test" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Risultato Test" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "Test valore output" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "Risultato della prova allegato" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "Note del test" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "Scaduto" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "Elementi secondari" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "Inserisci il numero di elementi di magazzino da serializzare" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "La quantità non deve superare la quantità disponibile ({q})" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "Inserisci i numeri di serie per i nuovi elementi" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "Note opzionali elemento" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "Numeri di serie non possono essere assegnati a questo articolo" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "Seleziona elementi di magazzino da installare" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "Aggiungi nota di transazione (opzionale)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "Elemento di magazzino non disponibile" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "L'articolo selezionato non è nella Fattura dei Materiali" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "Posizione di destinazione per gli elementi disinstallati" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "Seleziona l'articolo in cui convertire l'elemento di magazzino" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "L'articolo selezionato non è una valida opzione per la conversione" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "Posizione di destinazione per l'elemento restituito" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Sottoallocazioni" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "L'articolo deve essere vendibile" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "L'elemento è assegnato a un ordine di vendita" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "Elemento assegnato a un ordine di costruzione" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "Cliente a cui assegnare elementi di magazzino" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "L'azienda selezionata non è un cliente" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "Note sull'assegnazione delle scorte" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "Deve essere fornito un elenco degli elementi di magazzino" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "Note di fusione di magazzino" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "Consenti fornitori non corrispondenti" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "Consenti di unire gli elementi di magazzino che hanno fornitori diversi" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "Consenti stato non corrispondente" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "Consenti di unire gli elementi di magazzino con diversi codici di stato" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "Devono essere riforniti almeno due elementi in magazzino" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "Valore di chiave primaria StockItem" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "Note sugli spostamenti di magazzino" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index ec9fb0621c..e402489b77 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "二要素認証を有効にする必要があります。" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "APIエンドポイントが見つかりません" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "バルク運転には、品目またはフィルターのリストが必要です" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "項目はリストとして提供されなければなりません" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "無効なアイテムリスト" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "フィルタはディクショナリとして提供されなければなりません" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "提供されたフィルタが無効" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "指定された条件に一致する項目がありません" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "ユーザーにこのモデルを表示する権限がありません" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "無効な10進数値" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "メモ" @@ -356,7 +356,7 @@ msgstr "中国語 (繁体字)" msgid "Log in to the app" msgstr "アプリにログイン" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "メールアドレス" @@ -408,19 +408,19 @@ msgstr "同じ親に重複した名前は存在しません。" msgid "Invalid choice" msgstr "無効な選択です" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "お名前" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "説明" msgid "Description (optional)" msgstr "説明 (オプション)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "パス" @@ -479,11 +479,11 @@ msgstr "サーバーによってエラーが記録されました。" msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "通貨" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "利用可能なオプションから通貨を選択してください" @@ -527,29 +527,29 @@ msgstr "超過分は100%を超えてはなりません" msgid "Invalid value for overage" msgstr "超過分の無効な値" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "注文ステータス" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "親ビルド" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "バリアントを含む" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "バリアントを含む" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "バリアントを含む" msgid "Part" msgstr "パーツ" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "カテゴリ" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "祖先ビルド" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "担当" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "発行者" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "割り当て" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "作成前" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "の後に作成されました。" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "開始日あり" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "開始日 前" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "開始日 後" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "目標期日あり" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "目標期日" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "以降の目標日" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "完成前" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "終了後" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "最小日付" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "最大日付" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "ツリーを除く" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "削除するには、ビルドをキャンセルする必要があります。" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "消耗品" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "オプション" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "アセンブリ" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "追跡" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "テスト可能" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "受注残高" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "割り当てられた" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "利用可能" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "ビルドステータスコード" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "バッチコード" @@ -854,7 +854,7 @@ msgstr "発行者" msgid "User who issued this build order" msgstr "このビルドオーダーを発行したユーザー" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "このビルドオーダーを担当するユーザーまたはグルー msgid "External Link" msgstr "外部リンク" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "外部 サイト へのリンク" @@ -881,7 +881,7 @@ msgstr "組立優先度" msgid "Priority of this build order" msgstr "建設順序の優先順位" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "プロジェクトコード" @@ -903,51 +903,50 @@ msgstr "ビルドオーダー{build}が完了しました" msgid "A build order has been completed" msgstr "建設発注が完了しました" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "追跡可能な部品については、シリアル番号の提示が必要です。" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "ビルド出力が指定されていません" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "ビルド出力はすでに完了しています" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "ビルド出力がビルド順序と一致しません" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "数量はゼロより大きくなければなりません" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "数量が出力数量を上回ることはできません" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "ビルド出力 {serial} は、必要なすべてのテストに合格していません。" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "ビルドオーダーラインアイテム" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "ビルドオブジェクト" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "ビルドオブジェクト" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "数量" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "注文数量" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "ビルド項目は、ビルド出力を指定する必要があります。" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "割当数量({q})は在庫可能数量({a})を超えてはなりません。" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "在庫が過剰配分" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "割当数量はゼロより大きくなければなりません" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "シリアル在庫の場合、数量は1でなければなりません。" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "選択された在庫品目が部品表に一致しません。" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "在庫商品" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "ソース在庫品" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "建設に割り当てる在庫量" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "インストール" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "仕向け地在庫品" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "部品表には追跡可能な部品が含まれるため、必要な数量は整数" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "シリアル番号" @@ -1070,10 +1071,10 @@ msgstr "ビルド出力のためのシリアル番号の入力" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "場所" @@ -1089,8 +1090,8 @@ msgstr "シリアル番号の自動割り当て" msgid "Automatically allocate required items with matching serial numbers" msgstr "シリアル番号が一致する必要なアイテムを自動的に割り当て" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "以下のシリアル番号は既に存在するか、無効です。" @@ -1222,7 +1223,7 @@ msgstr "ビルドラインアイテム" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.partは、ビルドオーダーと同じパーツを指す必要があります。" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "在庫があること" @@ -1299,13 +1300,13 @@ msgstr "部品表 部品名" msgid "Build" msgstr "ビルド" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "サプライヤー" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "割当数量" @@ -1317,7 +1318,7 @@ msgstr "ビルドリファレンス" msgid "Part Category Name" msgstr "部品分類名" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "追跡可能" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "バリアントを許可" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "BOMアイテム" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "割当株式" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "注文中" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "生産中" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "外部在庫" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "在庫状況" @@ -1391,32 +1392,32 @@ msgstr "キャンセル済" msgid "Complete" msgstr "完了" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "受注生産に必要な在庫" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "期限切れ注文" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "ビルドオーダー{bo}は現在期限切れです" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "リンク" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "ファイル" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "ユーザーにはこれらの添付ファイルを削除する権限がありません。" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "ユーザーにはこの添付ファイルを削除する権限がありません" @@ -1436,61 +1437,61 @@ msgstr "有効な通貨コードはありません" msgid "No plugin" msgstr "プラグインなし" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "更新しました" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "最終更新のタイムスタンプ" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "独自のプロジェクトコード" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "プロジェクトの説明" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "このプロジェクトを担当するユーザーまたはグループ" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "設定キー" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "設定値" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "選択された値は有効なオプションではありません。" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "値はブール値でなければなりません。" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "値は整数値でなければなりません。" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "値は有効な数値でなければなりません。" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "値がバリデーション・チェックに合格しない" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "キー文字列は一意でなければなりません。" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "キー文字列は一意でなければなりません。" msgid "User" msgstr "ユーザー" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "価格破壊数量" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "価格" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "指定数量での単価" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "エンドポイント" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "このウェブフックを受信するエンドポイント" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "このウェブフックの名前" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "有効" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "このウェブフックはアクティブですか" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "トークン" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "アクセス用トークン" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "シークレット" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "HMACの共有秘密" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "メッセージ ID:" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "このメッセージの一意な識別子" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "ホスト" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "このメッセージを受信したホスト" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "ヘッダー" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "このメッセージのヘッダー" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "本文" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "メッセージ本文" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "このメッセージを受信したエンドポイント" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "作業内容" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "このメッセージに関する作業は終わったのですか?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "Id" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "タイトル" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "リンク" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "公開済み" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "投稿者" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "概要" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "既読" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "このニュースは読まれましたか?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "画像" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "画像ファイル" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "この画像の対象モデルタイプ" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "この画像の対象モデルID" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "カスタムユニット" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "単位記号は一意でなければなりません。" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "ユニット名は有効な識別子でなければなりません。" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "ユニット名" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "シンボル" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "オプションの単位記号" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "定義" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "ユニットの定義" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "添付ファイル" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "ファイルがありません" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "外部リンクが見つかりません。" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "モデルタイプ" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "画像の対象モデルタイプ" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "添付ファイルを選択" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "コメント:" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "添付コメント" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "アップロード日" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "ファイルがアップロードされた日付" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "ファイルサイズ" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "ファイルサイズ(バイト" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "添付ファイルに指定されたモデルタイプが無効です" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "カスタムステート" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "カスタムステート" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "リファレンス・ステータス・セット" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "このカスタム状態で拡張されたステータスセット" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "論理キー" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "ビジネスロジックでこのカスタムステートに等しいステート論理キー" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "値" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "モデルのデータベースに保存される数値" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "都道府県名" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "ラベル" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "フロントエンドに表示されるラベル" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "色" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "フロントエンドに表示される色" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "モデル" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "この状態が関連するモデル" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "モデルを選択する必要があります" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "キーを選択する必要があります。" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "論理キーを選択する必要があります。" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "キーは論理キーと異なる必要があります。" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "有効な参照ステータスクラスが提供されなければならない" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "キーは、参照ステータスの論理キーとは異なる必要があります。" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "論理キーは、参照ステータスの論理キーに含まれていなければなりません。" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "リファレンス・ステータスの名前とは異なっていなければならない。" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "セレクションリスト" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "セレクション・リスト" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "選択リストの名前" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "選択リストの説明" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "ロック中" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "この選択リストはロックされていますか?" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "このセレクションリストは使えますか?" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "ソースプラグイン" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "選択リストを提供するプラグイン" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "ソースストリング" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "このリストに使用されているソースを示すオプションの文字列" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "デフォルトエントリー" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "この選択リストのデフォルト項目" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "作成日" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "選択リストが作成された日時" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "最終更新" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "選択リストが最後に更新された日時" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "セレクションリスト入力" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "セレクションリスト" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "このエントリーが属する選択リスト" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "選択リストエントリーの値" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "選択リスト項目のラベル" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "選択リスト項目の説明" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "この選択リストはアクティブですか?" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "バーコードスキャン" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "データ" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "バーコードデータ" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "バーコードをスキャンしたユーザー" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "タイムスタンプ" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "バーコードスキャンの日時" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "バーコードを処理したURLエンドポイント" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "コンテキスト" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "バーコードスキャンのコンテキストデータ" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "返答" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "バーコードスキャンによるレスポンスデータ" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "結果" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "バーコードスキャンは成功しましたか?" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "キー" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "走行中" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "保留タスク" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "スケジュールされたタスク" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "失敗したタスク" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "タスクID" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "ユニークなタスクID" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "ロック" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "ロック時間" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "タスク名" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "関数" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "機能名" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "引数" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "タスク引数" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "キーワード論争" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "タスクキーワード引数" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "ファイル名" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "モデルタイプ" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "このモデルの添付ファイルを作成または編集する権限がありません。" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "選択リストがロックされています" @@ -2104,1073 +2221,1089 @@ msgstr "グループなし" msgid "Site URL is locked by configuration" msgstr "サイトのURLが設定によってロックされています" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "再起動が必要" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "サーバーの再起動を必要とする設定が変更されました。" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "保留中の移行" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "保留中のデータベース移行数" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "インスタンスID" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "このInvenTreeインスタンスの一意識別子" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "アナウンスID" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "サーバーのインスタンスIDをサーバーステータス情報でアナウンス(認証なし)" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "サーバーインスタンス名" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "サーバーインスタンスの文字列記述子" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "インスタンス名を使用" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "タイトルバーにインスタンス名を使用" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "about`を表示する制限" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "スーパーユーザーにのみ `about` モーダルを表示します。" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "会社名" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "社内社名" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "ベース URL" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "サーバーインスタンスのベースURL" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "デフォルトの通貨" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "価格計算のベース通貨を選択" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "対応通貨" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "対応通貨コード一覧" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "通貨の更新間隔" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "為替レートの更新頻度 (ゼロに設定すると無効になります)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "日" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "通貨更新プラグイン" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "通貨更新プラグイン" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "URLからダウンロード" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "外部URLからの画像ダウンロードを許可する" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "ダウンロードサイズ制限" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "外部URL画像の最大サイズ" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "URLからのダウンロードに使用されるユーザーエージェント" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "外部URLから画像やファイルをダウンロードする際に使用するユーザーエージェントを上書きすることができます。" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "厳格なURLバリデーション" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "URL検証時にスキーマ指定を要求" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "更新チェック間隔" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "アップデートをチェックする頻度 (ゼロに設定すると無効になります)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "自動バックアップ" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "データベースとメディアファイルの自動バックアップ" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "自動バックアップ間隔" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "自動バックアップイベント間の日数を指定" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "タスク削除間隔" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "バックグラウンドタスクの結果は、指定した日数後に削除されます。" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "エラーログ削除間隔" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "エラーログは指定した日数後に削除されます。" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "通知削除間隔" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "ユーザー通知は指定された日数後に削除されます。" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "バーコードサポート" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "ウェブインターフェイスでバーコードスキャナのサポートを有効にします。" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "店舗バーコード結果" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "バーコードスキャン結果をデータベースに保存" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "バーコードスキャン最大カウント" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "バーコードスキャン結果の最大保存数" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "バーコード入力遅延" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "バーコード入力処理遅延時間" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "バーコードウェブカメラサポート" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "ブラウザのウェブカメラでバーコードのスキャンが可能" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "バーコード表示データ" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "バーコードデータをテキストとしてブラウザに表示" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "バーコード生成プラグイン" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "内部バーコードデータ生成に使用するプラグイン" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "部品改訂" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "パートのリビジョンフィールドを有効にします。" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "アセンブリ改訂のみ" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "組立部品のみ修正可能" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "アセンブリからの削除を許可" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "アセンブリで使用されている部品の削除を許可します。" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "IPN 正規表現" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "部分IPNにマッチする正規表現パターン" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "IPNの重複を許可" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "複数のパートが同じIPNを共有できるようにします。" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "IPNの編集を許可" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "部品編集中にIPN値の変更を許可" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "部品表データのコピー" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "部品複製時にBOMデータをデフォルトでコピー" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "部品パラメータデータのコピー" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "部品複製時にデフォルトでパラメータデータをコピー" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "コピー部品テストデータ" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "部品複製時にテストデータをデフォルトでコピー" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "カテゴリー・パラメーター・テンプレートのコピー" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "部品作成時のカテゴリー・パラメーター・テンプレートのコピー" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "テンプレート" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "パーツはデフォルトのテンプレートです" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "コンポーネント" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "パーツはデフォルトでサブコンポーネントとして使用できます" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "購入可能" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "パーツはデフォルトで購入可能です" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "販売可能" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "パーツはデフォルトで販売可能です" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "パーツはデフォルトで追跡可能です" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "バーチャル" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "パーツはデフォルトでバーチャル" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "関連部品を表示" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "部品の関連部品を表示" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "初期在庫データ" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "新規部品追加時に初期在庫を作成可能" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "サプライヤー初期データ" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "新しい部品を追加する際に、最初のサプライヤーデータを作成できるようにします。" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "部品名表示形式" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "部品名の表示形式" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "パーツカテゴリー デフォルトアイコン" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "パートカテゴリのデフォルトアイコン(空はアイコンがないことを意味します)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "パラメータ単位の強制" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "単位が指定されている場合、パラメータ値は指定された単位に一致する必要があります。" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "価格の最小桁数" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "価格データのレンダリング時に表示する最小小数点以下の桁数" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "価格の小数点以下の桁数" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "価格データのレンダリング時に表示する小数点以下の桁数の最大値" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "サプライヤー価格の利用" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "全体的な価格計算にサプライヤーの価格破壊を含めること" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "購入履歴の上書き" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "過去の発注価格がサプライヤーの価格変動を上書き" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "ストックアイテム価格を使用" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "手動入力された在庫データから価格計算を行います。" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "在庫商品の価格設定年齢" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "この日数より古い在庫品を価格計算から除外します。" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "バリアント価格を使用" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "全体的な価格計算にバリアント価格を含む" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "アクティブバリアントのみ" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "バリアント価格の計算には、アクティブなバリアントパーツのみを使用します。" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "価格の再構築間隔" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "部品価格が自動的に更新されるまでの日数" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "社内価格" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "部品の内部価格の有効化" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "内部価格オーバーライド" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "利用可能な場合、内部価格は価格帯の計算より優先されます。" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "ラベル印刷の有効化" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "ウェブインターフェースからラベル印刷を有効にします。" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "ラベル画像DPI" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "ラベル印刷プラグインに供給する画像ファイルを生成する際のDPI解像度" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "レポートの有効化" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "レポートの作成" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "デバッグモード" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "デバッグモードでのレポート生成(HTML出力)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "ログレポートエラー" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "レポート生成時に発生するエラーのログ" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "ページサイズ" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "PDFレポートのデフォルトのページサイズ" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "世界的にユニークな連載" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "在庫品のシリアル番号はグローバルに一意でなければなりません。" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "枯渇在庫の削除" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "ストックアイテムが枯渇した場合のデフォルトの動作を決定します。" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "バッチコードテンプレート" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "ストックアイテムのデフォルトバッチコード生成用テンプレート" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "有効期限" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "在庫期限切れ機能の有効化" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "期限切れ株式の売却" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "期限切れ株式の売却を許可" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "在庫切れ時間" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "在庫品が期限切れとみなされるまでの日数" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "賞味期限切れ在庫の処理" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "期限切れの在庫を使用した建物の建築を許可" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "株式所有権" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "ストックロケーションとアイテムの所有権管理" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "在庫場所 デフォルトアイコン" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "在庫場所のデフォルトアイコン(空はアイコンがないことを意味します。)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "インストール済みストックアイテムの表示" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "ストックテーブルにインストールされたストックアイテムを表示" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "アイテム取り付けの際はBOMをチェック" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "親部品のBOMには、インストールされたストックアイテムが存在する必要があります。" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "在庫切れの転送を許可" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "在庫のないストックアイテムをストックロケーション間で移動可能" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "ビルド・オーダー参照パターン" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Build Order参照フィールドの生成に必要なパターン" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "責任ある所有者を要求" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "各注文には、責任ある所有者を指定する必要があります。" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "アクティブパートが必要" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "非稼動部品の製造オーダー作成を防止" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "ロックされた部分を要求" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "ロックされていない部品の製造オーダー作成を防止" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "有効なBOMが必要" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "BOMが検証されない限り、製造オーダーが作成されないようにします。" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "クローズド・チャイルド・オーダー" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "すべてのチャイルドオーダーが終了するまで、ビルドオーダーの完了を防止します。" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "テストがパスするまでブロック" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "必要なテストがすべて合格するまで、ビルド出力が完了しないようにします。" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "返品注文の有効化" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "ユーザーインターフェイスで返品注文機能を有効にします。" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "リターンオーダー参照パターン" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "返品注文参照フィールドの生成に必要なパターン" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "完了した返品注文の編集" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "注文完了後の返品注文の編集が可能" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "販売注文参照パターン" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "販売注文参照フィールドの生成に必要なパターン" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "販売注文のデフォルト出荷" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "販売注文でデフォルト出荷を作成可能" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "完了した販売注文の編集" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "出荷または完了後の販売注文の編集を許可します。" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "出荷された注文を完了としてマーク" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "出荷済みと表示された販売注文は、「出荷済み」ステータスを回避して自動的に完了します。" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "発注書参照パターン" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "発注書参照フィールドの生成に必要なパターン" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "完了した発注書の編集" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "出荷後または完了後の発注書の編集が可能" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "通貨の変換" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "在庫を受け取る際、商品価値を基準通貨に変換" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "自動発注" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "すべての品目を受領した時点で、発注書を完了として自動的にマーク" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "パスワード忘れ" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "ログインページでのパスワード忘れ防止機能の有効化" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "登録の有効化" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "ログインページでユーザーの自己登録を可能にします。" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "SSOの有効化" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "ログインページでSSOを有効化" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "SSO登録の有効化" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "ログインページでSSOによるユーザーの自己登録を可能にします。" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "SSOグループ同期の有効化" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "InvenTreeグループとIdPが提供するグループの同期を有効にします。" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "SSOグループキー" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "IdP が提供する groups claim 属性の名前。" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "SSOグループマップ" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "SSOグループからローカルのInvenTreeグループへのマッピング。ローカル・グループが存在しない場合は、作成されます。" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "SSO外のグループを削除" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "ユーザーに割り当てられたグループがIdPによってバックエンドされていない場合に削除するかどうか。この設定を無効にすると、セキュリティ上の問題が発生する可能性があります。" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "メールアドレスは必須です" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "サインアップ時にメールの入力を要求" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "SSOユーザーの自動入力" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "SSOアカウントデータからユーザー詳細を自動入力" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "メール2回" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "サインアップの際、ユーザーに2度メールを尋ねます。" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "パスワード2回" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "サインアップ時にパスワードを2回要求" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "許可ドメイン" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "特定のドメイン(@で始まるカンマ区切り)へのサインアップを制限します。" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "登録時のグループ" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "新規ユーザ登録時に割り当てられるグループ。SSOグループ同期が有効な場合、このグループはIdPからグループを割り当てられない場合にのみ設定されます。" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "MFAの実施" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "ユーザーは多要素セキュリティを使用する必要があります。" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "起動時にプラグインをチェック" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "起動時にすべてのプラグインがインストールされていることを確認 - コンテナ環境では有効にします。" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "プラグインのアップデートの確認" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "インストールされているプラグインのアップデートを定期的にチェックします。" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "URL統合の有効化" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "プラグインがURLルートを追加できるようにします" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "ナビゲーション統合の有効化" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "プラグインをナビゲーションに統合可能" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "アプリとの統合" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "プラグインを有効にしてアプリを追加" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "スケジュール統合の有効化" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "スケジュールタスクを実行するプラグインの有効化" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "イベント統合の有効化" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "プラグインが内部イベントに応答できるようにします。" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "インターフェース統合の有効化" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "プラグインがユーザー・インターフェースに統合できるようにします。" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "プロジェクトコードの有効化" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "プロジェクトを追跡するためのプロジェクトコードの有効化" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "ストックテイク機能" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "在庫レベルを記録し、在庫価値を計算するための棚卸機能を有効にします。" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "外部ロケーションを除く" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "棚卸計算から外部ロケーションの在庫品を除外" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "自動引取期間" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "自動棚卸記録間隔日数(ゼロに設定すると無効になります。)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "レポート削除間隔" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "ストックテイクレポートは、指定された日数が経過すると削除されます。" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "ユーザーのフルネームを表示" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "ユーザー名の代わりにフルネームを表示" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "ユーザープロファイルの表示" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "プロフィールページにユーザーのプロフィールを表示" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "テストステーションデータの有効化" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "テスト結果のテストステーションデータ収集の有効化" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "アップロード時にテンプレートを作成" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "既存のテンプレートに一致しないテスト データをアップロードする場合、新しいテスト テンプレートを作成します。" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "日付の表示形式" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "部品スケジューリング" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "部品スケジュール情報の表示" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "部品在庫" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "部品在庫情報の表示(在庫管理機能が有効な場合)" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "最後のパンくずを表示" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "現在のページをパンくずで表示" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "エラー・レポートの受信" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "システムエラーの通知を受信" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "最後の中古印刷機" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "ユーザーの最後に使用した印刷機を保存" @@ -3499,13 +3624,13 @@ msgstr "内部はアクティブ" msgid "Supplier is Active" msgstr "サプライヤーの活動" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "製造元" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "会社名" @@ -3513,331 +3638,331 @@ msgstr "会社名" msgid "Has Stock" msgstr "在庫あり" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "会社" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "会社概要" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "会社概要" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "ウェブサイト" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "会社ホームページURL" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "電話番号" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "連絡先電話番号" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "連絡先メールアドレス" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "お問い合わせ" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "連絡先" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "外部企業情報へのリンク" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "この会社は活動していますか?" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "お客様" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "この会社に商品を販売していますか?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "サプライヤー" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "この会社から商品を購入しますか?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "メーカーは" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "この会社は部品を製造しているのですか?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "この会社で使用されるデフォルト通貨" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "住所" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "マイアカウント" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "会社を選択" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "住所" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "アドレスエントリを説明するタイトル" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "主な住所" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "プライマリアドレスに設定" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "1行目" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "丁目、番地、号など" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "2行目" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "建物名、部屋番号など" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "郵便番号" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "都市/地域" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "郵便番号 都市/地域" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "都道府県" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "都道府県" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "国" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "住所国" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "宅配便発送に関する注意事項" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "宅配便発送時の注意事項" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "社内出荷に関する注意事項" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "社内用出荷注意事項" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "住所情報へのリンク(外部)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "メーカー・パーツ" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "ベース部" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "部品を選択" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "メーカー選択" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "MPN" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "メーカー品番" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "外部メーカー部品リンク用URL" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "メーカー部品説明" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "メーカー部品パラメーター" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "パラメータ名" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "パラメータ値" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "単位" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "パラメータ単位" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "パックユニットは、ベースユニットと互換性がある必要があります。" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "パック単位はゼロより大きくなければなりません。" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "リンクされたメーカー部品は、同じベース部品を参照する必要があります。" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "仕入先" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "サプライヤーを選択" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "サプライヤー在庫管理ユニット" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "このサプライヤーは活動していますか?" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "メーカー部品の選択" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "外部サプライヤー部品リンク用URL" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "サプライヤーの部品説明" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "備考" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "基本料金" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "ミニマムチャージ(例:仕入れ手数料)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "パッケージング" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "部品梱包" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "パック数量" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "1パックに供給される総量。単品の場合は空のままにしてください。" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "複数" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "複数注文" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "サプライヤーから入手可能な数量" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "空席状況更新" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "アベイラビリティ・データの最終更新日" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "サプライヤーの価格破壊" @@ -3853,7 +3978,7 @@ msgstr "このサプライヤーで使用されるデフォルト通貨" msgid "Company Name" msgstr "会社名" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "在庫あり" @@ -3889,10 +4014,6 @@ msgstr "この項目の追加ステータス情報" msgid "Custom status key" msgstr "カスタムステータスキー" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "キー" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "カスタム" @@ -3997,7 +4118,7 @@ msgstr "元の行データ" msgid "Errors" msgstr "エラー" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "有効" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "注文参照" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "ステータス" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "数量は正の数でなければなりません。" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "受信" msgid "Number of items received" msgstr "受領品目数" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "購入金額" @@ -4850,11 +4971,11 @@ msgstr "アイテムのマージ" msgid "Merge items with the same part, destination and target date into one line item" msgstr "同じ品目、同じ仕向け地、同じ日付の品目を1つの品目に統合します。" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "SKU" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "内部部品番号" @@ -5046,130 +5167,114 @@ msgstr "返金" msgid "Reject" msgstr "拒否" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "期限切れ発注書" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "発注書{po}は現在期限切れです" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "期限切れ販売注文" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "セールスオーダー{so}は現在期限切れです。" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "期限切れ返品注文" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "リターンオーダー{ro}は現在期限切れです" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "スター付き" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "星の数で絞り込む" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "深さ" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "カテゴリの深さでフィルタリング" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "最多メンバーレベル" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "トップレベルカテゴリーによるフィルタリング" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "カスケード表示" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "フィルタリング結果にサブカテゴリーを含めることができます。" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "親" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "親カテゴリーによる絞り込み" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "指定したカテゴリの下にあるサブカテゴリを除外します。" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "実績あり" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "発注書" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "販売注文" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "受注生産在庫" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "受注生産に必要な在庫" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "部品表全体の検証" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "このオプションを選択する必要があります。" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "バリエーション?" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "改訂版" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "改定あり" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "BOM有効" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "組み立て部分はテスト可能" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "コンポーネント部分はテスト可能" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "用途" @@ -5219,7 +5324,7 @@ msgstr "アイコン (オプション)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "いくつかの部品がすでに割り当てられているため、この部品カテゴリを構造化することはできません!" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "パーツ" @@ -5335,7 +5440,7 @@ msgstr "検索結果での視認性を向上させる部分キーワード" msgid "Part category" msgstr "パーツカテゴリ" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "即時支払通知" @@ -5344,7 +5449,7 @@ msgstr "即時支払通知" msgid "Part revision or version number" msgstr "部品のリビジョンまたはバージョン番号" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "リビジョン" @@ -5376,7 +5481,7 @@ msgstr "デフォルトの有効期限" msgid "Expiry time (in days) for stock items of this part" msgstr "この部品の在庫品の有効期限(日単位" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "最小在庫" @@ -5612,7 +5717,7 @@ msgstr "棚卸時の個別在庫数" msgid "Total available stock at time of stocktake" msgstr "ストックテイク時の在庫可能量" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "日付" @@ -5713,7 +5818,7 @@ msgstr "試験内容" msgid "Enter description for this test" msgstr "このテストの説明を入力してください。" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "有効" @@ -5977,359 +6082,351 @@ msgstr "結果" msgid "Number of results recorded against this template" msgstr "このテンプレートに対して記録された結果の数" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "この在庫商品の購入通貨" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "投機的数量" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "モデルID" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "ファイルが画像ではありません" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "このテンプレートを使用する部品の数" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "オリジナルパート" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "複製する元の部品を選択" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "コピー画像" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "元の部分から画像をコピー" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "コピーBOM" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "元の部品から部品表をコピー" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "コピーパラメータ" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "元の部品からパラメータデータをコピー" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "コピーノート" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "元のパートからメモをコピー" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "初期在庫量" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "この部品の初期在庫数量を指定します。数量が0の場合、在庫は追加されません。" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "初期在庫場所" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "この部品の初期在庫場所を指定してください。" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "サプライヤーを選択してください。" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "メーカーを選択してください。" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "メーカー品番" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "選択された企業は有効なサプライヤーではありません。" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "選択された会社は有効な製造業者ではありません。" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "このMPNに一致するメーカー部品はすでに存在します。" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "このSKUに一致するサプライヤー部品は既に存在します。" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "カテゴリ名" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "建物" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "在庫商品" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "リビジョン" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "仕入先" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "総在庫" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "未割当株式" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "バリアントストック" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "重複部分" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "別のパートから初期データをコピー" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "初期在庫" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "初期在庫数で部品を作成" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "サプライヤー情報" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "この部品の初期サプライヤー情報を追加します。" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "コピーカテゴリパラメータ" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "選択したパーツカテゴリーからパラメータテンプレートをコピー" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "既存イメージ" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "既存の部品画像のファイル名" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "画像ファイルが存在しません" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "ビルド" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "ストックテイクレポートを特定の部品とバリアント部品に限定します。" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "ストックテイクレポートを特定の部品カテゴリーとその子カテゴリーに限定します。" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "ストックテイクレポートを特定のストックロケーションと子ロケーションに限定" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "外部在庫を除く" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "外部ロケーションの在庫品を除く" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "レポートを生成" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "計算されたストックテイクデータを含むレポートファイルの作成" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "更新部品" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "計算されたストックテイクデータで指定部品を更新" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "在庫管理機能が有効になっていません" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "バックグラウンドワーカーのチェックに失敗しました" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "最小価格" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "最低価格の計算値の上書き" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "最低価格通貨" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "最大価格" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "最高価格の計算値を上書き" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "最高価格通貨" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "更新" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "この部品の価格を更新" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "提供された通貨から{default_currency}に変換できませんでした。" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "最低価格は最高価格を超えてはなりません。" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "最高価格は最低価格を下回ってはなりません。" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "親アセンブリを選択" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "構成部品の選択" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "BOMをコピーする部品を選択します。" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "既存データの削除" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "コピー前に既存のBOMアイテムを削除" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "インクルード継承" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "テンプレート化された部品から継承されたBOM項目を含めます。" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "無効な行をスキップ" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "無効な行をスキップするには、このオプションを有効にします。" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "コピー代用部品" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "BOMアイテムの重複時に代替部品をコピー" @@ -6651,8 +6748,8 @@ msgstr "バーコードのネイティブサポートを提供" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "InvenTreeの貢献者" @@ -6979,7 +7076,7 @@ msgstr "ボーダー" msgid "Print a border around each label" msgstr "各ラベルの周囲に枠線を印刷します。" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "ランドスケープ" @@ -7011,51 +7108,51 @@ msgstr "ラベルがページサイズに対して大きすぎる" msgid "No labels were generated" msgstr "ラベルは生成されませんでした" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "仕入先の統合 - DigiKey" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "DigiKeyバーコードのスキャンをサポートします。" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "「DigiKey」として活動するサプライヤー" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "サプライヤーの統合 - LCSC" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "LCSCバーコードのスキャンをサポートします。" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "「LCSC」として活動するサプライヤー" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "サプライヤー統合 - Mouser" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "マウザーバーコードのスキャンをサポートします。" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "「Mouser」として活動するサプライヤー" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "サプライヤー統合 - TME" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "TMEバーコードのスキャンをサポートします。" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "「TME」として活動するサプライヤー" @@ -7160,21 +7257,21 @@ msgstr "プラグイン" msgid "Method" msgstr "方法" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "著者は見つかりませんでした" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "プラグイン'{p}'は現在のInvenTreeバージョン{v}と互換性がありません。" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "プラグインには少なくともバージョン {v} が必要です。" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "プラグインに必要なバージョンは最大で{v}です。" @@ -7203,11 +7300,11 @@ msgstr "日数" msgid "A numerical setting" msgstr "数値設定" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "選択肢の設定" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "複数の選択肢がある設定" @@ -7355,43 +7452,43 @@ msgstr "プラグインの収集" msgid "Collect plugins and add them to the registry" msgstr "プラグインの収集とレジストリへの追加" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "プラグインを有効化" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "このプラグインを有効化します" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "設定の削除" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "データベースからプラグイン設定を削除します" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "アイテム" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "プラグインが見つかりません" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "プラグインがアクティブではありません" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "プラグインはラベル印刷をサポートしていません" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "無効なラベル寸法" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "テンプレートに有効な項目がありません" @@ -7415,132 +7512,140 @@ msgstr "文字" msgid "Template file with this name already exists" msgstr "この名前のテンプレートファイルは既に存在します。" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "テンプレート名" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "テンプレート説明" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "リビジョン番号(自動インクリメント)" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "プリントのモデルに装着" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "印刷時に、リンクされたモデルインスタンスに対してレポート出力を添付ファイルとして保存" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "ファイル名パターン" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "ファイル名生成パターン" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "テンプレートが有効" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "テンプレートの対象モデルタイプ" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "フィルター" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "テンプレートクエリフィルタ(key=valueペアのカンマ区切りリスト)" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "テンプレートファイル" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "PDFレポートのページサイズ" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "レポートを横向きにレンダリング" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "テンプレート{self.name}から生成されたレポート" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "レポート生成エラー" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "幅 [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "ラベル幅(mm単位)" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "高さ [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "ラベルの高さ(mm単位)" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "ラベル印刷エラー" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "スニペット" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "レポートスニペットファイル" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "スニペットファイルの説明" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "資産" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "レポート資産ファイル" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "アセットファイルの説明" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "レポートテンプレートの選択" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "レポートに含める項目の主キーのリスト" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "ラベルテンプレートの選択" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "印刷プラグイン" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "ラベル印刷に使用するプラグインを選択します。" @@ -7567,6 +7672,8 @@ msgstr "必要な材料" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "合計" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "スクール機能" msgid "Stock location items" msgstr "在庫場所項目" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "在庫品テストレポート" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "設置項目" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "シリアル" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "テストの結果" @@ -7647,15 +7767,6 @@ msgstr "結果なし(必須)" msgid "No result" msgstr "何も結果はありません" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "設置項目" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "シリアル" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "アセットファイルが存在しません" @@ -7672,123 +7783,123 @@ msgstr "part_image タグには Part インスタンスが必要です。" msgid "company_image tag requires a Company instance" msgstr "company_image タグには Company インスタンスが必要です。" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "場所の深さによる絞り込み" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "トップレベルのロケーションによるフィルタリング" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "フィルタリング結果にサブロケーションを含めることができます。" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "親の位置" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "親の所在地でフィルタリング" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "部品名(大文字・小文字を区別しません)" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "パート名に含まれるもの(大文字・小文字を区別しません)" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "部品名(正規表現)" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "パートIPN(大文字と小文字を区別しません)" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "パートIPNに含まれるもの(大文字と小文字は区別されません)" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "パートIPN(正規表現)" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "最小在庫" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "最大在庫" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "ステータスコード" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "外部ロケーション" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "ビルド・オーダーで消費" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "その他在庫品に装着" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "パートツリー" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "更新前" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "更新後" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "ストックテイク前" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "ストックテイク後" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "有効期限" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "有効期限" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "期限失効" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "数量が必要です" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "有効な部品を供給する必要があります。" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "指定されたサプライヤの部品が存在しません。" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "サプライヤー部品にはパックサイズが定義されていますが、use_pack_sizeフラグが設定されていません。" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "追跡不可能な部品については、シリアル番号は提供できません。" @@ -7897,7 +8008,7 @@ msgstr "この在庫品に一致するサプライヤー部品を選択してく msgid "Where is this stock item located?" msgstr "この在庫品はどこにありますか?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "この在庫品は以下の梱包で保管されています。" @@ -7913,7 +8024,7 @@ msgstr "このアイテムは他のアイテムにインストールされてい msgid "Serial number for this item" msgstr "この商品のシリアル番号" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "このストックアイテムのバッチコード" @@ -7969,136 +8080,136 @@ msgstr "購入時の単品購入価格" msgid "Converted to part" msgstr "パートに変換" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "部品が追跡可能に設定されていません" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "数量は整数でなければなりません。" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "数量は在庫数 ({self.quantity}) を超えてはなりません。" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "シリアル番号はリストとして提供されなければなりません" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "数量がシリアル番号と一致しません" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "テストテンプレートが存在しません" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "在庫商品が販売注文に割り当てられました" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "ストックアイテムが他のアイテムに装着されている場合" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "在庫商品には他の商品が含まれています。" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "在庫商品が顧客に割り当てられました" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "在庫品は現在生産中です。" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "連番在庫の統合はできません" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "在庫品の重複" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "在庫品目は同じ部品を参照してください。" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "在庫品は同じサプライヤーの部品を参照する必要があります。" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "在庫状況コードが一致していること" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "在庫がないため移動できません。" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "ストックアイテムのトラッキング" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "記入上の注意" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "在庫品テスト結果" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "このテストには値を指定する必要があります。" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "このテストには添付ファイルをアップロードする必要があります。" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "このテストでは無効な値です。" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "試験結果" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "テスト出力値" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "試験結果添付" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "テストノート" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "テストステーション" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "試験が実施された試験ステーションの識別子。" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "開始" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "テスト開始のタイムスタンプ" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "修了済み" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "テスト終了のタイムスタンプ" @@ -8170,201 +8281,201 @@ msgstr "親株式" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "数量はパック数です。" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "サプライヤー品番" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "期限切れ" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "子供用品" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "追跡項目" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "この在庫品の購入価格、単位またはパックあたり" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "シリアル化するストックアイテムの数を入力" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "数量は在庫数 ({q}) を超えてはなりません。" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "新しい商品のシリアル番号の入力" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "仕向け地" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "任意のメモ欄" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "この部品にシリアル番号を割り当てることはできません" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "シリアル番号が既に存在します" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "インストールするストックアイテムを選択" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "設置数量" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "インストールするアイテムの数量を入力してください。" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "取引メモの追加(オプション)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "設置数量は1台以上" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "在庫がありません" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "選択した部品が部品表にない" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "設置する数量は、利用可能な数量を超えてはなりません。" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "アンインストール先の場所" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "在庫品を変換する部品を選択" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "選択された部分は、変換のための有効なオプションではありません。" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "SupplierPartが割り当てられている在庫品を変換できません。" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "在庫商品ステータスコード" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "返送品の返送先" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "ステータスを変更するストックアイテムを選択" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "ストックアイテムが選択されていません" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "サブロケーション" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "親株式所在地" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "パーツは販売可能でなければなりません" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "商品が販売オーダーに割り当てられています。" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "アイテムがビルドオーダーに割り当てられています。" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "在庫アイテムを割り当てるお客様" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "選択された企業は顧客ではありません" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "株式譲渡に関する注意事項" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "在庫品のリストが必要です。" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "株式併合に関する注意事項" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "不一致のサプライヤーを許可" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "異なるサプライヤの部品を持つ在庫品目をマージできるようにします。" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "不一致の状態を許可" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "異なるステータスコードを持つストックアイテムをマージすることができます。" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "少なくとも2つのストックアイテムを提供する必要があります。" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "変化なし" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "StockItem 主キー値" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "在庫がありません" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "株式取引に関する注記" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "次のシリアル番号" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "以前のシリアル番号" diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index 81e7f0bcd6..3da5bc8cef 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "" @@ -356,7 +356,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "" @@ -408,19 +408,19 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "" @@ -479,11 +479,11 @@ msgstr "" msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "" @@ -527,29 +527,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "" @@ -854,7 +854,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "" msgid "Complete" msgstr "" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3513,331 +3638,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po index 9c3965701d..8500ed9a46 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Language: lt_LT\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "Prieš atliekant bet kokius veiksmus, privalote įjungti dviejų veiksnių autentifikavimą." -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API galinis taškas nerastas" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "Masiniam veiksmui turi būti pateiktas elementų arba filtrų sąrašas" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "Elementai turi būti pateikti kaip sąrašas" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "Pateiktas neteisingas elementų sąrašas" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "\"Filtrai turi būti pateikti kaip žodynas" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "Pateikti neteisingi filtrai" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "Filtras „all“ gali būti naudojamas tik su reikšme „true“" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "Nė vienas elementas neatitinka pateiktų kriterijų" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Vartotojas neturi teisių peržiūrėti šio modelio" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "Neteisinga dešimtainė reikšmė" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Pastabos" @@ -356,7 +356,7 @@ msgstr "Kinų (tradicinė)" msgid "Log in to the app" msgstr "Prisijungti prie programos" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "El. paštas" @@ -408,19 +408,19 @@ msgstr "Po tuo pačiu pirminiu elementu negali būti pasikartojančių pavadinim msgid "Invalid choice" msgstr "Neteisingas pasirinkimas" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Pavadinimas" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Aprašymas" msgid "Description (optional)" msgstr "Aprašymas (neprivalomas)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Kelias" @@ -479,11 +479,11 @@ msgstr "Serveris užfiksavo klaidą." msgid "Must be a valid number" msgstr "Turi būti teisingas skaičius" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Valiuta" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Pasirinkite valiutą iš galimų variantų" @@ -527,29 +527,29 @@ msgstr "Pertekliaus reikšmė negali viršyti 100%" msgid "Invalid value for overage" msgstr "Netinkama pertekliaus reikšmė" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Užsakymo būsena" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Pirminė gamyba" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "Įtraukti variantus" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "Įtraukti variantus" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "Įtraukti variantus" msgid "Part" msgstr "Detalė" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Kategorija" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "Ankstesnė gamyba" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "Priskirta man" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Išdavė" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "Priskirta" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "Sukurta prieš" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "Sukurta po" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "Turi pradžios datą" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "Pradžios data prieš" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "Pradžios data po" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "Turi tikslinę datą" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "Tikslinė data prieš" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "Tikslinė data po" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "Užbaigta prieš" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "Užbaigta po" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "Minimali data" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "Maksimali data" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "Neįtraukti medžio struktūros" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "Prieš ištrinant gamybą, ji turi būti atšaukta" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Sunaudojama" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Pasirinktinai" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Surinkimas" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Sekama" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Testuojama" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "Liko neįvykdytų užsakymų" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Priskirta" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Prieinama" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Gamybos būsenos kodas" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Partijos kodas" @@ -854,7 +854,7 @@ msgstr "Išdavė" msgid "User who issued this build order" msgstr "Vartotojas, kuris išdavė šį gamybos užsakymą" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Vartotojas ar grupė, atsakinga už šį gamybos užsakymą" msgid "External Link" msgstr "Išorinė nuoroda" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Nuoroda į išorinį URL" @@ -881,7 +881,7 @@ msgstr "Gamybos prioritetas" msgid "Priority of this build order" msgstr "Šio gamybos užsakymo prioritetas" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Projekto kodas" @@ -903,51 +903,50 @@ msgstr "Gamybos užsakymas {build} užbaigtas" msgid "A build order has been completed" msgstr "Gamybos užsakymas užbaigtas" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "Sekamoms detalėms būtina nurodyti serijos numerius" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Nepateiktas gamybos rezultatas" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Gamybos rezultatas jau užbaigtas" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Gamybos rezultatas neatitinka gamybos užsakymo" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "Kiekis turi būti didesnis nei nulis" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "Kiekis negali viršyti rezultato kiekio" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Gamybos rezultatas {serial} nepraėjo visų privalomų testų" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "Gamybos užsakymo eilutės įrašas" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Gamybos objektas" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Gamybos objektas" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Kiekis" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Reikalingas kiekis gamybos užsakymui" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Priskirtas kiekis ({q}) negali viršyti galimo atsargų kiekio ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Atsargų elementas per daug paskirstytas" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Priskirtas kiekis turi būti didesnis nei nulis" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Atsargoms su serijos numeriais kiekis turi būti 1" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "Pasirinktas atsargų elementas neatitinka BOM eilutės" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Atsargų elementas" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Šaltinio atsargų elementas" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Atsargų kiekis, skirtas paskirstyti į gamybą" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Įdiegti į" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Paskirties atsargų elementas" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Reikalingas sveikasis kiekis, nes komplektavimo žiniaraštyje yra sekamų detalių" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Serijos numeriai" @@ -1070,10 +1071,10 @@ msgstr "Įveskite serijos numerius gamybos rezultatams" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Vieta" @@ -1089,8 +1090,8 @@ 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:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "Šie serijos numeriai jau egzistuoja arba yra neteisingi" @@ -1222,7 +1223,7 @@ msgstr "Gamybos eilutės įrašas" 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:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "Prekė turi būti atsargose" @@ -1299,13 +1300,13 @@ msgstr "BOM detalės pavadinimas" msgid "Build" msgstr "Gamyba" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "Tiekėjo detalė" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "Priskirtas kiekis" @@ -1317,7 +1318,7 @@ msgstr "Gamybos nuoroda" msgid "Part Category Name" msgstr "Detalės kategorijos pavadinimas" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Sekama" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "Leisti variantus" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "BOM elementas" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "Priskirtos atsargos" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "Užsakyta" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "Gamyboje" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "Išorinės atsargos" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Prieinamos atsargos" @@ -1391,32 +1392,32 @@ msgstr "Atšaukta" msgid "Complete" msgstr "Užbaigta" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "Atsargos, reikalingos gamybos užsakymui" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "Vėluojantis gamybos užsakymas" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Gamybos užsakymas {bo} dabar vėluoja" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "Yra nuoroda" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "Yra failas" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "Vartotojas neturi teisės ištrinti šių priedų" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "Vartotojas neturi teisės ištrinti šio priedo" @@ -1436,61 +1437,61 @@ msgstr "Nepateikta jokių galiojančių valiutos kodų" msgid "No plugin" msgstr "Nėra papildinio" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Atnaujinta" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Paskutinio atnaujinimo laiko žymė" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Unikalus projekto kodas" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Projekto aprašymas" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "Vartotojas arba grupė, atsakinga už šį projektą" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "Nustatymo raktas" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Nustatymo reikšmė" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "Pasirinkta reikšmė yra netinkama" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "Reikšmė turi būti loginė (taip/ne)" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "Reikšmė turi būti sveikasis skaičius" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "Reikšmė turi būti tinkamas skaičius" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "Reikšmė neatitinka patikros taisyklių" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "Raktas turi būti unikalus" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "Raktas turi būti unikalus" msgid "User" msgstr "Vartotojas" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "Kiekio ribinis taškas kainai" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Kaina" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "Vieneto kaina nurodytam kiekiui" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Galutinis taškas" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "Galutinis taškas, kuriuo priimamas šis webhook'as" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "Šio webhook'o pavadinimas" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktyvus" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "Ar šis webhook'as aktyvus" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "Raktas" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "Prieigos raktas" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Slaptas raktas" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "Bendras slaptas HMAC raktas" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "Pranešimo ID" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "Unikalus pranešimo identifikatorius" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "Pagrindinis serveris" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "Serveris, iš kurio gautas pranešimas" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Antraštė" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "Šio pranešimo antraštė" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Turinys" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "Šio pranešimo turinys" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "Galutinis taškas, kuriame gautas pranešimas" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "Apdorota" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "Ar darbas su šiuo pranešimu baigtas?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "ID" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Pavadinimas" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Nuoroda" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Paskelbta" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Autorius" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Santrauka" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Perskaityta" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "Ar ši naujiena buvo perskaityta?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Paveikslėlis" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Paveikslėlio failas" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "Modelio tipas, kuriam priskiriamas šis paveikslėlis" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "Modelio ID, kuriam priskiriamas šis paveikslėlis" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "Pasirinktinis vienetas" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "Vieneto simbolis turi būti unikalus" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "Vieneto pavadinimas turi būti tinkamas identifikatorius" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "Vieneto pavadinimas" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Simbolis" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "Nebūtinas vieneto simbolis" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Apibrėžimas" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Vieneto apibrėžimas" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Priedas" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Trūksta failo" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Trūksta išorinės nuorodos" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "Modelio tipas" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "Modelio tipas, kuriam skirtas paveikslėlis" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Pasirinkite failą priedui" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Komentaras" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "Komentaras prie priedo" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "Įkėlimo data" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "Failo įkėlimo data" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "Failo dydis" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "Failo dydis baitais" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "Netinkamas modelio tipas priedui" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "Pasirinktinė būsena" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "Pasirinktinės būsenos" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "Nuorodos būsenų rinkinys" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "Būsenų rinkinys, papildomas šia pasirinktine būsena" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Loginis raktas" -#: common/models.py:2032 +#: common/models.py:2041 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:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Reikšmė" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "Skaitinė reikšmė, saugoma modelio duomenų bazėje" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "Būsenos pavadinimas" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "Etiketė" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "Etiketė, rodoma vartotojo sąsajoje" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "Spalva" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "Spalva, rodoma vartotojo sąsajoje" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "Modelis" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "Modelis, su kuriuo susieta būsena" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "Turi būti pasirinktas modelis" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "Turi būti pasirinktas raktas" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "Turi būti pasirinktas loginis raktas" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "Raktas turi skirtis nuo loginio rakto" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "Turi būti pateikta tinkama nuorodos būsenos klasė" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "Raktas turi skirtis nuo nuorodos būsenų loginių raktų" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "Loginis raktas turi būti tarp nuorodos būsenų loginių raktų" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "Pavadinimas turi skirtis nuo nuorodos būsenų pavadinimų" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "Pasirinkimų sąrašas" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "Pasirinkimų sąrašai" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "Pasirinkimų sąrašo pavadinimas" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "Pasirinkimų sąrašo aprašymas" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "Užrakinta" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "Ar šis sąrašas užrakintas?" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "Ar šį pasirinkimų sąrašą galima naudoti?" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "Šaltinio papildinys" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "Papildinys, pateikiantis šį pasirinkimų sąrašą" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "Šaltinio eilutė" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "Neprivaloma eilutė, identifikuojanti šaltinį, naudotą šiam sąrašui" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "Numatytasis įrašas" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "Numatytasis šio pasirinkimų sąrašo įrašas" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Sukurta" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "Data ir laikas, kada buvo sukurtas pasirinkimų sąrašas" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Paskutinį kartą atnaujinta" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "Data ir laikas, kada paskutinį kartą buvo atnaujintas sąrašas" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "Pasirinkimų sąrašo įrašas" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "Pasirinkimų sąrašo įrašai" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "Pasirinkimų sąrašas, kuriam priklauso šis įrašas" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "Pasirinkimų sąrašo įrašo reikšmė" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "Pasirinkimų įrašo etiketė" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "Pasirinkimų įrašo aprašymas" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "Ar šis sąrašo įrašas aktyvus?" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "Brūkšninio kodo nuskaitymas" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Data" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "Brūkšninio kodo duomenys" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "Vartotojas, nuskaitęs brūkšninį kodą" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "Laiko žymė" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "Brūkšninio kodo nuskaitymo data ir laikas" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "URL galutinis taškas, kuris apdorojo brūkšninį kodą" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Kontekstas" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "Konteksto duomenys brūkšninio kodo nuskaitymui" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "Atsakas" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "Atsako duomenys iš brūkšninio kodo nuskaitymo" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Rezultatas" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "Ar brūkšninio kodo nuskaitymas buvo sėkmingas?" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Raktas" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "Nurodo, ar nustatymą pakeičia aplinkos kintamasis" msgid "Override" msgstr "Nepaisyti" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "Vykdoma" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "Laukiančios užduotys" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Suplanuotos užduotys" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Nepavykusios užduotys" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "Užduoties ID" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "Unikalus užduoties ID" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "Užraktas" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Užrakto laikas" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Užduoties pavadinimas" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Funkcija" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Funkcijos pavadinimas" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Argumentai" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Užduoties argumentai" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "Rakto argumentai" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "Užduoties rakto argumentai" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Failo pavadinimas" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "Modelio tipas" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "Vartotojas neturi leidimo kurti ar redaguoti šio modelio priedų" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "Pasirinkimų sąrašas yra užrakintas" @@ -2104,1073 +2221,1089 @@ msgstr "Nėra grupės" msgid "Site URL is locked by configuration" msgstr "Svetainės URL yra užrakintas konfigūracijoje" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Reikalingas paleidimas iš naujo" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "Nustatymas buvo pakeistas ir reikia paleisti serverį iš naujo" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Laukiančios migracijos" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "Laukiančių duomenų bazės migracijų skaičius" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "Egzemplioriaus ID" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "Unikalus identifikatorius šiam InvenTree egzemplioriui" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "Pranešimo ID" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "Skelbti serverio egzemplioriaus ID serverio būsenos informacijoje (neprisijungus)" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Serverio egzemplioriaus pavadinimas" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "Serverio egzemplioriaus pavadinimas kaip eilutė" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Naudoti egzemplioriaus pavadinimą" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "Naudoti egzemplioriaus pavadinimą antraštės juostoje" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "Apriboti `apie` rodymą" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "`Apie` langą rodyti tik super-vartotojams" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Įmonės pavadinimas" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Vidinis įmonės pavadinimas" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "Pagrindinis URL" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "Pagrindinis URL šiam serverio egzemplioriui" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Numatytoji valiuta" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "Pasirinkti pagrindinę valiutą kainų skaičiavimui" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "Palaikomos valiutos" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "Palaikomų valiutų kodų sąrašas" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "Valiutų atnaujinimo intervalas" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Kaip dažnai atnaujinti valiutų kursus (nulis – išjungti)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "dienos" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "Valiutų atnaujinimo papildinys" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "Naudotinas valiutų atnaujinimo papildinys" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Atsisiųsti iš URL" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Leisti atsisiųsti išorinius paveikslėlius ir failus iš nuorodų" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "Atsisiuntimo dydžio riba" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "Didžiausias leistinas atsisiunčiamo paveikslėlio dydis" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "Naudojamas user-agent atsisiuntimui iš URL" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Leisti pakeisti user-agent, naudojamą atsisiunčiant paveikslėlius ir failus iš išorinio URL (palikite tuščią, jei naudoti numatytąjį)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "Griežtas URL tikrinimas" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "Reikalauti schemos nurodymo tikrinant URL" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Atnaujinimų tikrinimo intervalas" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "Kaip dažnai tikrinti atnaujinimus (nulis – išjungti)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Automatinė atsarginė kopija" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Įjungti automatinį duomenų bazės ir failų atsarginį kopijavimą" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Automatinio atsarginės kopijos kūrimo intervalas" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Nurodykite dienų skaičių tarp atsarginių kopijų kūrimo" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "Užduočių ištrynimo intervalas" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "Foninių užduočių rezultatai bus ištrinti po nurodyto dienų skaičiaus" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "Klaidų žurnalo ištrynimo intervalas" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "Klaidų žurnalai bus ištrinti po nurodyto dienų skaičiaus" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "Pranešimų ištrynimo intervalas" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Vartotojų pranešimai bus ištrinti po nurodyto dienų skaičiaus" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Brūkšninių kodų palaikymas" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "Įjungti brūkšninių kodų skaitytuvo palaikymą žiniatinklio sąsajoje" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "Išsaugoti brūkšninių kodų nuskaitymus" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "Brūkšninių kodų nuskaitymo rezultatus išsaugoti duomenų bazėje" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "Maksimalus nuskaitymų skaičius" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "Maksimalus saugomų brūkšninių kodų nuskaitymų skaičius" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "Brūkšninio kodo įvesties delsimas" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "Brūkšninio kodo įvesties apdorojimo delsos laikas" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "Brūkšninių kodų palaikymas per kamerą" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "Leisti brūkšninių kodų nuskaitymą per naršyklės kamerą" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "Rodyti brūkšninio kodo duomenis" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "Rodyti brūkšninio kodo duomenis naršyklėje kaip tekstą" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "Brūkšninio kodo generavimo papildinys" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "Papildinys vidiniam brūkšninių kodų generavimui" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "Detalių versijos" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "Įjungti versijos lauką detalėms" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "Tik surinkimo versijoms" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "Leisti versijas tik surenkamoms detalėms" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "Leisti pašalinti iš surinkimo" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "Leisti ištrinti detales, kurios yra naudojamos surinkimuose" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "IPN reguliarioji išraiška" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "Reguliariosios išraiškos šablonas detalių IPN tikrinimui" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Leisti pasikartojančius IPN" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "Leisti kelioms detalėms turėti tą patį IPN" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "Leisti redaguoti IPN" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "Leisti keisti IPN reikšmę redaguojant detalę" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Kopijuoti detalės BOM duomenis" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopijuoti BOM duomenis pagal nutylėjimą dubliuojant detalę" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "Kopijuoti detalės parametrus" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "Kopijuoti parametrų duomenis pagal nutylėjimą dubliuojant detalę" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "Kopijuoti detalės testavimo duomenis" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "Kopijuoti testavimo duomenis pagal nutylėjimą dubliuojant detalę" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "Kopijuoti kategorijų parametrų šablonus" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "Kopijuoti kategorijų parametrų šablonus kuriant detalę" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Šablonas" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "Detalės pagal nutylėjimą yra šablonai" -#: common/setting/system.py:430 +#: common/setting/system.py:443 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:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Komponentas" -#: common/setting/system.py:436 +#: common/setting/system.py:449 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:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Galima įsigyti" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "Detalės pagal nutylėjimą gali būti įsigyjamos" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Parduodama" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "Detalės pagal nutylėjimą gali būti parduodamos" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "Detalės pagal nutylėjimą gali būti sekamos" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Virtuali" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Detalės pagal nutylėjimą yra virtualios" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Rodyti susijusias detales" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Rodyti susijusias detales pasirinktai detalei" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "Pradiniai atsargų duomenys" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "Leisti sukurti pradinę atsargą pridedant naują detalę" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "Pradiniai tiekėjo duomenys" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Leisti sukurti pradinius tiekėjo duomenis pridedant naują detalę" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Detalės pavadinimo rodymo formatas" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Detalės pavadinimo rodymo formatas" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "Detalės kategorijos numatytoji piktograma" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "Detalės kategorijos numatytoji piktograma (tuščia reiškia, kad nenaudojama)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "Reikalauti parametrų vienetų" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "Jei nurodyti vienetai, parametro reikšmės turi atitikti nurodytus vienetus" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "Mažiausias kainos dešimtainių skaičių kiekis" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimalus dešimtainių skaitmenų skaičius rodomas kainodaros duomenyse" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "Didžiausias kainos dešimtainių skaičių kiekis" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Didžiausias dešimtainių skaitmenų skaičius rodomas kainodaros duomenyse" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Naudoti tiekėjo kainas" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Įtraukti tiekėjų kainų lygius į bendrą kainodaros skaičiavimą" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Pirkimų istorija keičia kainas" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Istorinės pirkimo kainos pakeičia tiekėjo kainų lygius" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "Naudoti atsargų kainas" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Naudoti kainas iš rankiniu būdu įvestų atsargų duomenų kainodaros skaičiavimui" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "Atsargų kainų galiojimo trukmė" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Pašalinti senesnes nei nurodytas dienų skaičius atsargas iš kainodaros skaičiavimų" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "Naudoti variantų kainas" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "Įtraukti variantų kainas į bendrą kainodaros skaičiavimą" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "Tik aktyvūs variantai" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "Naudoti tik aktyvius detalių variantus kainodarai" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "Kainodaros atnaujinimo intervalas" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "Dienų skaičius iki automatinio detalių kainų atnaujinimo" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Vidinės kainos" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "Įjungti vidines kainas detalėms" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Vidinės kainos viršenybė" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "Jei yra, vidinės kainos pakeičia bendrus kainodaros skaičiavimus" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Įjungti etikečių spausdinimą" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Įjungti etikečių spausdinimą iš žiniatinklio sąsajos" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "Etiketės vaizdo DPI" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI raiška generuojant vaizdus etikečių spausdinimo papildiniams" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Įjungti ataskaitas" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Įjungti ataskaitų generavimą" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Derinimo režimas" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "Generuoti ataskaitas derinimo režimu (HTML išvestis)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "Registruoti ataskaitų klaidas" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "Registruoti klaidas, įvykusias generuojant ataskaitas" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Puslapio dydis" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Numatytasis PDF ataskaitų puslapio dydis" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "Globaliai unikalūs serijiniai numeriai" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "Atsargų serijos numeriai turi būti globaliai unikalūs" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "Ištrinti išnaudotas atsargas" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "Nustato numatytą elgseną, kai atsargos yra išnaudotos" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "Partijos kodo šablonas" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "Šablonas numatytiesiems atsargų partijos kodams generuoti" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "Atsargų galiojimas" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "Įjungti atsargų galiojimo funkcionalumą" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "Parduoti pasibaigusias galioti atsargas" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "Leisti parduoti pasibaigusias galioti atsargas" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "Atsargų senėjimo laikas" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "Dienų skaičius, po kurio atsargos laikomos pasenusiomis iki jų galiojimo pabaigos" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "Naudoti pasibaigusias galioti atsargas gamyboje" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "Leisti naudoti pasibaigusias galioti atsargas gamyboje" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "Atsargų nuosavybės kontrolė" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "Įjungti atsargų vietų ir vienetų nuosavybės kontrolę" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "Atsargų vietos numatytoji piktograma" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "Atsargų vietos numatytoji piktograma (tuščia reiškia nenaudojama)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "Rodyti sumontuotas atsargas" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "Rodyti sumontuotas atsargas atsargų lentelėse" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "Tikrinti BOM montuojant atsargas" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Sumontuotos atsargos turi būti pirminio gaminio BOM" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "Leisti perkelti neturimas atsargas" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Leisti perkelti atsargas tarp vietų net jei jų nėra atsargose" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "Gamybos užsakymo nuorodos šablonas" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Privalomas šablonas gamybos užsakymo nuorodos laukui generuoti" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "Reikalauti atsakingo savininko" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "Kiekvienam užsakymui turi būti priskirtas atsakingas savininkas" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "Reikalauti aktyvios detalės" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "Neleidžia kurti gamybos užsakymų neaktyvioms detalėms" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "Reikalauti užrakintos detalės" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "Neleidžia kurti gamybos užsakymų neužrakintoms detalėms" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "Reikalauti galiojančio komplektavimo sąrašo (BOM)" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "Neleidžia kurti gamybos užsakymų, kol BOM nėra patvirtintas" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "Reikalauti uždarytų antrinių užsakymų" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "Neleidžia užbaigti gamybos užsakymo, kol visi antriniai užsakymai neuždaryti" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "Blokuoti, kol testai bus išlaikyti" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Neleidžia užbaigti gaminių, kol visi privalomi testai nėra išlaikyti" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "Įjungti grąžinimo užsakymus" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "Įjungia grąžinimo užsakymų funkciją vartotojo sąsajoje" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "Grąžinimo užsakymo nuorodos šablonas" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "Būtinas šablonas grąžinimo užsakymo nuorodos laukui generuoti" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "Redaguoti užbaigtus grąžinimo užsakymus" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "Leisti redaguoti grąžinimo užsakymus po jų užbaigimo" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "Pardavimo užsakymo nuorodos šablonas" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "Būtinas šablonas pardavimo užsakymo nuorodos laukui generuoti" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "Numatytasis siuntinys pardavimo užsakymui" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "Leisti automatiškai sukurti siuntinį kartu su pardavimo užsakymu" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "Redaguoti užbaigtus pardavimo užsakymus" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Leisti redaguoti pardavimo užsakymus po jų išsiuntimo arba užbaigimo" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "Pažymėti išsiųstus užsakymus kaip užbaigtus" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Pardavimo užsakymai, pažymėti kaip išsiųsti, bus automatiškai užbaigti, praleidžiant būseną „išsiųsta“" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "Pirkimo užsakymo nuorodos šablonas" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "Būtinas šablonas pirkimo užsakymo nuorodos laukui generuoti" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "Redaguoti užbaigtus pirkimo užsakymus" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Leisti redaguoti pirkimo užsakymus po jų išsiuntimo arba užbaigimo" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "Konvertuoti valiutą" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "Konvertuoti prekių vertę į pagrindinę valiutą priimant prekes" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "Automatiškai užbaigti pirkimo užsakymus" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automatiškai pažymėti pirkimo užsakymus kaip užbaigtus, kai visos eilutės yra gautos" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Įjungti pamiršto slaptažodžio funkciją" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Leisti naudoti pamiršto slaptažodžio funkciją prisijungimo puslapyje" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Įjungti registraciją" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Leisti vartotojams savarankiškai registruotis prisijungimo puslapyje" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "Įjungti vieningą prisijungimą (SSO)" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "Įjungti vieningą prisijungimą (SSO) prisijungimo puslapyje" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "Įjungti registraciją per SSO" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Leisti vartotojams registruotis per SSO prisijungimo puslapyje" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "Įjungti SSO grupių sinchronizavimą" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "Įjungti InvenTree grupių sinchronizavimą su tapatybės tiekėjo (IdP) grupėmis" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "SSO grupės raktas" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "Grupių atributo pavadinimas, kurį pateikia tapatybės tiekėjas (IdP)" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "SSO grupių susiejimas" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "SSO grupių susiejimas su vietinėmis InvenTree grupėmis. Jei vietinė grupė neegzistuoja, ji bus sukurta." -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "Pašalinti grupes, nepriklausančias SSO" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "Ar pašalinti vartotojui priskirtas grupes, jei jos nėra pateikiamos per IdP. Išjungus gali kilti saugumo problemų" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "El. paštas privalomas" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "Reikalauti vartotojo el. pašto registracijos metu" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "Automatiškai užpildyti SSO naudotojų duomenis" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatiškai užpildyti vartotojo informaciją pagal SSO paskyros duomenis" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "Įvesti el. paštą du kartus" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "Registracijos metu prašyti vartotojų du kartus įvesti el. paštą" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Įvesti slaptažodį du kartus" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "Registracijos metu prašyti vartotojų du kartus įvesti slaptažodį" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Leidžiami domenai" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Riboti registraciją tik tam tikriems domenams (atskiriama kableliais, prasideda @)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Grupė registruojantis" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "Grupė, į kurią priskiriami nauji vartotojai registracijos metu. Jei įjungta SSO grupių sinchronizacija, ši grupė nustatoma tik tuo atveju, jei grupė negaunama iš IdP." -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "Reikalauti kelių veiksnių autentifikacijos (MFA)" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "Vartotojai privalo naudoti kelių veiksnių apsaugą." -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "Tikrinti įskiepius paleidimo metu" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Tikrina, ar visi įskiepiai įdiegti paleidžiant – naudoti konteinerių aplinkose" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "Tikrinti įskiepių atnaujinimus" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "Įjungti periodinius įdiegtų įskiepių atnaujinimų tikrinimus" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "Įjungti URL integravimą" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "Leisti įskiepiams pridėti URL maršrutus" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "Įjungti navigacijos integraciją" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "Leisti įskiepiams integruotis į navigaciją" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "Įjungti programų integraciją" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "Leisti įskiepiams pridėti programas" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "Įjungti planavimo integraciją" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "Leisti įskiepiams vykdyti suplanuotas užduotis" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "Įjungti įvykių integraciją" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "Leisti įskiepiams reaguoti į vidinius įvykius" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "Įjungti sąsajos integraciją" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "Leisti įskiepiams integruotis į vartotojo sąsają" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "Įjungti projektų kodus" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "Įjungti projektų kodų naudojimą projektų sekimui" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "Inventorizacijos funkcija" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Įjungti inventorizacijos funkciją sandėlio kiekiams ir vertei registruoti" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "Neįtraukti išorinių vietų" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Neįtraukti sandėlio prekių iš išorinių vietų į inventorizacijos skaičiavimus" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "Automatinės inventorizacijos periodas" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Dienų skaičius tarp automatinių inventorizacijos įrašų (nustatykite 0, kad išjungtumėte)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "Ataskaitų ištrynimo intervalas" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Inventorizacijos ataskaitos bus ištrintos po nurodyto dienų skaičiaus" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "Rodyti pilnus vartotojų vardus" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "Rodyti pilnus vardus vietoj vartotojo vardų" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "Rodyti vartotojų profilius" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "Rodyti vartotojų profilius jų paskyros puslapyje" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "Įjungti bandymų stoties duomenis" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "Įjungti bandymų stoties duomenų rinkimą testų rezultatams" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "Kurti šabloną įkeliant" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "Sukurti naują bandymų šabloną, jei įkeliami duomenys neatitinka esamo šablono" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "Pageidaujamas datos rodymo formatas" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Detalių planavimas" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "Rodyti detalių planavimo informaciją" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "Detalių inventorizacija" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Rodyti detalių inventorizacijos informaciją (jei ši funkcija įjungta)" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "Rodyti paskutinę naršymo grandį" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "Rodyti aktyvų puslapį naršymo grandinėje" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "Gauti klaidų ataskaitas" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "Gauti pranešimus apie sistemos klaidas" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "Paskutiniai naudoti spausdintuvai" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "Išsaugoti paskutinius naudotojo naudotus spausdintuvus" @@ -3499,13 +3624,13 @@ msgstr "Vidinė detalė yra aktyvi" msgid "Supplier is Active" msgstr "Tiekėjas yra aktyvus" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Gamintojas" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Įmonė" @@ -3513,331 +3638,331 @@ msgstr "Įmonė" msgid "Has Stock" msgstr "Turi atsargų" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Įmonės" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Įmonės aprašymas" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "Įmonės aprašymas" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Tinklalapis" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "Įmonės tinklalapio URL" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Telefono numeris" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Kontaininis telefono numeris" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Kontaktinis el. pašto adresas" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Kontaktinis asmuo" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "Kontaktinis asmuo" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "Nuoroda į išorinę įmonės informaciją" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "Ar ši įmonė aktyvi?" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "Yra klientas" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "Ar parduodate prekes šiai įmonei?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "Yra tiekėjas" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "Ar perkate prekes iš šios įmonės?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "Yra gamintojas" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "Ar ši įmonė gamina detales?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "Numatytoji valiuta, naudojama šiai įmonei" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Adresas" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Adresai" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Pasirinkite įmonę" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "Adreso pavadinimas" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "Pavadinimas, apibūdinantis adreso įrašą" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Pagrindinis adresas" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Nustatyti kaip pagrindinį adresą" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "1-a eilutė" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "Adreso 1-a eilutė" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "2-a eilutė" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "Adreso 2-a eilutė" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Pašto kodas" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Miestas / regionas" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "Pašto kodas, miestas / regionas" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "Valstija / provincija" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "Valstija arba provincija" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "Šalis" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "Adreso šalis" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "Kurjerio siuntos pastabos" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "Pastabos siuntų kurjeriui" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "Vidinės siuntos pastabos" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "Siuntimo pastabos vidiniam naudojimui" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "Nuoroda į adreso informaciją (išorinė)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Gamintojo detalė" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Pagrindinė detalė" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Pasirinkite detalę" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Pasirinkite gamintoją" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "MPN" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Gamintojo detalės numeris (MPN)" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "Išorinės nuorodos į gamintojo detalės URL" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "Gamintojo detalės aprašymas" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "Gamintojo detalės parametras" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Parametro pavadinimas" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Parametro reikšmė" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Vienetai" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Parametro vienetai" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "Pakuotės vienetai turi atitikti pagrindinės detalės vienetus" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "Pakuotės vienetų kiekis turi būti didesnis už nulį" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "Susieta gamintojo detalė turi nurodyti tą pačią pagrindinę detalę" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Tiekėjas" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Pasirinkite tiekėją" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "Tiekėjo sandėlio numeris (SKU)" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "Ar ši tiekėjo detalė aktyvi?" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Pasirinkite gamintojo detalę" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "Išorinės nuorodos į tiekėjo detalės URL" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "Tiekėjo detalės aprašymas" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Pastaba" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "bazinė kaina" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimalus mokestis (pvz., sandėliavimo mokestis)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Pakuotė" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "Detalės pakuotė" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "Pakuotės kiekis" -#: company/models.py:858 +#: company/models.py:891 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:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "daugiklis" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "Užsakymo daugiklis" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "Tiekėjo turimas kiekis" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "Prieinamumas atnaujintas" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "Paskutinio prieinamumo duomenų atnaujinimo data" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "Tiekėjo kainos ribos" @@ -3853,7 +3978,7 @@ msgstr "Numatytoji valiuta, naudojama šiam tiekėjui" msgid "Company Name" msgstr "Įmonės pavadinimas" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "Sandėlyje" @@ -3889,10 +4014,6 @@ msgstr "Papildoma būsena šiam elementui" msgid "Custom status key" msgstr "Pasirinktinės būsenos raktas" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Raktas" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "Pasirinktinis" @@ -3997,7 +4118,7 @@ msgstr "Pradiniai eilutės duomenys" msgid "Errors" msgstr "Klaidos" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "Galiojantis" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "Užsakymo nuoroda" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Būsena" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "Kiekis turi būti teigiamas skaičius" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "Gauta" msgid "Number of items received" msgstr "Gautų prekių kiekis" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "Pirkimo kaina" @@ -4850,11 +4971,11 @@ msgstr "Sujungti elementus" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Sujungti elementus su ta pačia detale, paskirtimi ir tiksline data į vieną eilutės įrašą" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "SKU" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "Vidinis detalės numeris" @@ -5046,130 +5167,114 @@ msgstr "Pinigų grąžinimas" msgid "Reject" msgstr "Atmesti" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "Vėluojantis pirkimo užsakymas" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Pirkimo užsakymas {po} dabar vėluoja" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "Vėluojantis pardavimo užsakymas" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Pardavimo užsakymas {so} dabar vėluoja" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "Vėluojantis grąžinimo užsakymas" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "Grąžinimo užsakymas {ro} dabar vėluoja" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "Pažymėta žvaigždute" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "Filtruoti pagal pažymėtas kategorijas" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "Gylis" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "Filtruoti pagal kategorijos gylį" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "Aukščiausio lygio" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "Filtruoti pagal aukščiausio lygio kategorijas" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "Kaskada" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "Įtraukti sub-kategorijas į filtravimo rezultatus" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "Pirminė kategorija" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "Filtruoti pagal pirminę kategoriją" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "Neįtraukti sub-kategorijų po nurodyta kategorija" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "Turi rezultatų" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "Gautas pirkimo užsakymas" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "Išsiųstas pardavimo užsakymas" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "Atsargos, pagamintos pagal gamybos užsakymą" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "Atsargos, reikalingos gamybos užsakymui" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "Patvirtinti visą komplektavimo žiniaraštį" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "Ši parinktis turi būti pasirinkta" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "Yra variantas" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "Yra versija" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "Turi versijų" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "BOM galiojantis" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "Surinkimo detalė gali būti testuojama" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "Komponento detalė gali būti testuojama" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "Naudoja" @@ -5219,7 +5324,7 @@ msgstr "Piktograma (neprivaloma)" 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:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Detalės" @@ -5335,7 +5440,7 @@ msgstr "Detalės raktažodžiai, skirti pagerinti matomumą paieškos rezultatuo msgid "Part category" msgstr "Detalės kategorija" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -5344,7 +5449,7 @@ msgstr "IPN" msgid "Part revision or version number" msgstr "Detalės versija arba numeris" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Versija" @@ -5376,7 +5481,7 @@ msgstr "Numatytasis galiojimo laikas" msgid "Expiry time (in days) for stock items of this part" msgstr "Šios detalės atsargų galiojimo laikas (dienomis)" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Minimalus atsargų kiekis" @@ -5612,7 +5717,7 @@ msgstr "Atsargų įrašų skaičius inventorizacijos metu" msgid "Total available stock at time of stocktake" msgstr "Bendras prieinamas atsargų kiekis inventorizacijos metu" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Data" @@ -5713,7 +5818,7 @@ msgstr "Bandymo aprašymas" msgid "Enter description for this test" msgstr "Įveskite šio bandymo aprašymą" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Įjungta" @@ -5977,359 +6082,351 @@ msgstr "Rezultatai" msgid "Number of results recorded against this template" msgstr "Rezultatų skaičius, susietas su šiuo šablonu" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "Šio atsargų elemento pirkimo valiuta" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "Numatomas kiekis" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "Modelio ID" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "Failas nėra paveikslėlis" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "Detalių, naudojančių šį šabloną, skaičius" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "Pradinė detalė" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "Pasirinkite pradinę detalę kopijavimui" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Kopijuoti paveikslėlį" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "Kopijuoti paveikslėlį iš pradinės detalės" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "Kopijuoti BOM" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "Kopijuoti komplektavimo žiniaraštį iš pradinės detalės" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "Kopijuoti parametrus" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "Kopijuoti parametrų duomenis iš pradinės detalės" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "Kopijuoti pastabas" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "Kopijuoti pastabas iš pradinės detalės" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "Pradinis atsargų kiekis" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Nurodykite pradinį atsargų kiekį šiai detalei. Jei kiekis nulis - atsargos nebus pridėtos." -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "Pradinė atsargų vieta" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "Nurodykite pradinę atsargų vietą šiai detalei" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "Pasirinkite tiekėją (arba palikite tuščią, jei nenorite nurodyti)" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "Pasirinkite gamintoją (arba palikite tuščią, jei nenorite nurodyti)" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "Gamintojo detalės numeris" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "Pasirinkta įmonė nėra galiojantis tiekėjas" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "Pasirinkta įmonė nėra galiojantis gamintojas" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "Detalė su šiuo gamintojo numeriu (MPN) jau egzistuoja" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "Tiekėjo detalė su šiuo SKU jau egzistuoja" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Kategorijos pavadinimas" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "Surinkimas" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Atsargos" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "Versijos" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Tiekėjai" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Bendros atsargos" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "Nepriskirtos atsargos" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "Variantų atsargos" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "Kopijuoti detalę" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "Kopijuoti pradinius duomenis iš kitos detalės" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "Pradinės atsargos" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "Sukurti detalę su pradiniu atsargų kiekiu" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "Tiekėjo informacija" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "Pridėti pradinę tiekėjo informaciją šiai detalei" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "Kopijuoti kategorijos parametrus" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "Kopijuoti parametrų šablonus iš pasirinktos detalių kategorijos" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "Esamas paveikslėlis" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "Esamos detalės paveikslėlio failo pavadinimas" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "Paveikslėlio failas neegzistuoja" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "Galima surinkti" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Apriboti inventorizacijos ataskaitą konkrečia detale ir jos variantais" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Apriboti inventorizacijos ataskaitą konkrečia detalių kategorija ir jos subkategorijomis" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Apriboti inventorizacijos ataskaitą konkrečia atsargų vieta ir jos subvietomis" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "Neįtraukti išorinių atsargų" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "Neįtraukti atsargų iš išorinių vietų" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Generuoti ataskaitą" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "Generuoti ataskaitos failą su apskaičiuotais inventorizacijos duomenimis" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "Atnaujinti detales" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "Atnaujinti nurodytas detales pagal apskaičiuotus inventorizacijos duomenis" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "Inventorizacijos funkcionalumas neįjungtas" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Fono proceso patikra nepavyko" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Mažiausia kaina" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "Pakeisti apskaičiuotą mažiausią kainą" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "Mažiausios kainos valiuta" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Didžiausia kaina" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "Pakeisti apskaičiuotą didžiausią kainą" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "Didžiausios kainos valiuta" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Atnaujinti" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "Atnaujinti šios detalės kainodarą" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Nepavyko konvertuoti iš nurodytų valiutų į {default_currency}" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "Mažiausia kaina negali būti didesnė už didžiausią kainą" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "Didžiausia kaina negali būti mažesnė už mažiausią kainą" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "Pasirinkite pirminį surinkimą" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "Pasirinkite komponentinę detalę" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "Pasirinkite detalę, iš kurios kopijuoti BOM" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "Pašalinti esamus duomenis" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "Pašalinti esamus BOM elementus prieš kopijuojant" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "Įtraukti paveldėtus" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "Įtraukti BOM elementus, paveldėtus iš šabloninių detalių" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "Praleisti netinkamas eilutes" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "Įjunkite šią parinktį, jei norite praleisti netinkamas eilutes" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "Kopijuoti pakaitines detales" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopijuoti pakaitines detales, kai kopijuojami BOM elementai" @@ -6651,8 +6748,8 @@ msgstr "Suteikia vietinį brūkšninių kodų palaikymą" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "InvenTree bendraautoriai" @@ -6979,7 +7076,7 @@ msgstr "Rėmelis" msgid "Print a border around each label" msgstr "Spausdinti rėmelį aplink kiekvieną etiketę" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "Gulsčias" @@ -7011,51 +7108,51 @@ msgstr "Etiketė per didelė šiam puslapio dydžiui" msgid "No labels were generated" msgstr "Etikečių nesugeneruota" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "Tiekėjo integracija - DigiKey" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "Suteikia palaikymą DigiKey brūkšninių kodų nuskaitymui" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "Tiekėjas, veikiantis kaip 'DigiKey'" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "Tiekėjo integracija - LCSC" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "Suteikia palaikymą LCSC brūkšninių kodų nuskaitymui" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "Tiekėjas, veikiantis kaip 'LCSC'" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "Tiekėjo integracija - Mouser" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "Suteikia palaikymą Mouser brūkšninių kodų nuskaitymui" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "Tiekėjas, veikiantis kaip 'Mouser'" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "Tiekėjo integracija - TME" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "Suteikia palaikymą TME brūkšninių kodų nuskaitymui" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "Tiekėjas, veikiantis kaip 'TME'" @@ -7160,21 +7257,21 @@ msgstr "Įskiepis" msgid "Method" msgstr "Metodas" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "Autorius nerastas" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Įskiepis '{p}' nesuderinamas su dabartine InvenTree versija {v}" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Įskiepiui reikalinga bent versija {v}" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Įskiepiui reikalinga ne aukštesnė nei versija {v}" @@ -7203,11 +7300,11 @@ msgstr "Skaitmeninis" msgid "A numerical setting" msgstr "Skaitmeninė nuostata" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "Pasirinkimo nuostata" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "Nuostata su keliais pasirinkimais" @@ -7355,43 +7452,43 @@ msgstr "Surinkti įskiepius" msgid "Collect plugins and add them to the registry" msgstr "Surinkti įskiepius ir įtraukti juos į registrą" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "Aktyvuoti įskiepį" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "Aktyvuoti šį įskiepį" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "Ištrinti konfigūraciją" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "Ištrinti įskiepio konfigūraciją iš duomenų bazės" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "Elementai" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "Įskiepis nerastas" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "Įskiepis neaktyvus" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "Įskiepis nepalaiko etikečių spausdinimo" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "Neleistini etiketės matmenys" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "Šablonui nepateikti galimi elementai" @@ -7415,132 +7512,140 @@ msgstr "Letter" msgid "Template file with this name already exists" msgstr "Šablono failas tokiu pavadinimu jau egzistuoja" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "Šablono pavadinimas" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "Šablono aprašymas" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "Versijos numeris (didinamas automatiškai)" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "Pridėti prie modelio spausdinant" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Išsaugoti ataskaitą kaip priedą susietam modelio egzemplioriui spausdinimo metu" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "Failo vardo šablonas" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "Šablonas failų vardų generavimui" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "Šablonas įjungtas" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "Šablonui skirtas modelio tipas" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Filtrai" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "Šablono užklausos filtrai (kableliais atskirtas key=value porų sąrašas)" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "Šablono failas" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "Puslapio dydis PDF ataskaitoms" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "Rodyti ataskaitą gulsčiai" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "Ataskaita sugeneruota iš šablono {self.name}" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "Klaida generuojant ataskaitą" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Plotis [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "Etiketės plotis, nurodytas milimetrais" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Aukštis [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "Etiketės aukštis, nurodytas milimetrais" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "Klaida spausdinant etiketes" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "Fragmentas" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "Ataskaitos fragmento failas" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "Fragmento failo aprašymas" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "Išteklius" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "Ataskaitos ištekliaus failas" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "Ištekliaus failo aprašymas" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "Pasirinkite ataskaitos šabloną" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "Elementų pirminių raktų sąrašas, įtrauktinas į ataskaitą" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "Pasirinkite etiketės šabloną" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "Spausdinimo įskiepis" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "Pasirinkite įskiepį etikečių spausdinimui" @@ -7567,6 +7672,8 @@ msgstr "Reikalingos medžiagos" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "Iš viso" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "Partija" msgid "Stock location items" msgstr "Atsargų vietos elementai" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Atsargų elemento bandymo ataskaita" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "Sumontuoti elementai" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Serija" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Bandymo rezultatai" @@ -7647,15 +7767,6 @@ msgstr "Nėra rezultato (privaloma)" msgid "No result" msgstr "Nėra rezultato" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "Sumontuoti elementai" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Serija" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "Ištekliaus failas neegzistuoja" @@ -7672,123 +7783,123 @@ msgstr "Žyma part_image reikalauja detalės (Part) egzemplioriaus" msgid "company_image tag requires a Company instance" msgstr "Žyma company_image reikalauja įmonės (Company) egzemplioriaus" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "Filtruoti pagal vietos gylį" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "Filtruoti pagal aukščiausio lygio vietas" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "Įtraukti sub-vietas į filtravimo rezultatus" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "Pirminė vieta" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "Filtruoti pagal pirminę vietą" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "Detalės pavadinimas (neskiria didžiųjų ir mažųjų raidžių)" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "Detalės pavadinimas turi (neskiria didžiųjų ir mažųjų raidžių)" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "Detalės pavadinimas (reguliarioji išraiška)" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "Detalės IPN (neskiria didžiųjų ir mažųjų raidžių)" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "Detalės IPN turi (neskiria didžiųjų ir mažųjų raidžių)" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "Detalės IPN (reguliarioji išraiška)" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "Mažiausias kiekis" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "Didžiausias kiekis" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "Būsenos kodas" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "Išorinė vieta" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "Sunaudota gamybos užsakyme" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "Sumontuota kitame atsargų elemente" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "Detalių medis" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "Atnaujinta iki" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "Atnaujinta po" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "Inventorizacija iki" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "Inventorizacija po" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "Galiojimo data iki" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "Galiojimo data po" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "Pasenusi" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "Reikalingas kiekis" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "Turi būti pateikta galiojanti detalė" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "Nurodyta tiekėjo detalė neegzistuoja" -#: stock/api.py:1029 +#: stock/api.py:1048 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:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serijos numeriai negali būti pateikti detalei, kurios negalima sekti" @@ -7897,7 +8008,7 @@ msgstr "Pasirinkite atitinkančią tiekėjo detalę šiam atsargų elementui" msgid "Where is this stock item located?" msgstr "Kur yra šis atsargų elementas?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "Pakuotė, kurioje laikomas šis atsargų elementas" @@ -7913,7 +8024,7 @@ msgstr "Ar šis elementas yra sumontuotas kitame elemente?" msgid "Serial number for this item" msgstr "Šio elemento serijos numeris" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "Šio atsargų elemento partijos kodas" @@ -7969,136 +8080,136 @@ msgstr "Vieneto pirkimo kaina pirkimo metu" msgid "Converted to part" msgstr "Konvertuota į detalę" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "Detalė nenustatyta kaip sekama" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "Kiekis turi būti sveikasis skaičius" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Kiekis negali viršyti galimų atsargų kiekio ({self.quantity})" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "Serijos numeriai turi būti pateikti sąraše" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "Kiekis nesutampa su serijos numeriais" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "Bandomasis šablonas neegzistuoja" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "Atsargų elementas buvo priskirtas pardavimo užsakymui" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "Atsargų elementas sumontuotas kitame elemente" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "Atsargų elementas turi kitų elementų" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "Atsargų elementas buvo priskirtas klientui" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "Atsargų elementas šiuo metu gaminamas" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "Su serijos numeriais pažymėtų atsargų sujungti negalima" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "Pasikartojantys atsargų elementai" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "Atsargų elementai turi būti susiję su ta pačia detale" -#: stock/models.py:1921 +#: stock/models.py:1934 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:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "Atsargų būsenos kodai turi sutapti" -#: stock/models.py:2196 +#: stock/models.py:2209 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:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "Atsargų elemento sekimas" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "Įrašo pastabos" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "Atsargų elemento bandymo rezultatas" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "Šiam bandymui turi būti pateikta reikšmė" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "Šiam bandymui turi būti įkeltas priedas" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "Netinkama reikšmė šiam bandymui" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Bandymo rezultatas" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "Bandymo išvesties reikšmė" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "Bandymo rezultato priedas" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "Bandymo pastabos" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "Bandymų stotis" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "Bandymų stoties identifikatorius, kurioje atliktas bandymas" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "Pradėta" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "Bandymo pradžios laiko žyma" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "Pabaigta" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "Bandymo pabaigos laiko žyma" @@ -8170,201 +8281,201 @@ msgstr "Pirminis atsargų elementas" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Naudoti pakuotės dydį pridedant: nurodytas kiekis yra pakuočių skaičius" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "Tiekėjo detalės numeris" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "Nebegaliojantis" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "Antriniai elementai" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "Sekami elementai" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "Šio atsargų elemento pirkimo kaina, vienetui arba pakuotei" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "Įveskite atsargų elementų, kuriuos reikia serializuoti, skaičių" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Kiekis negali viršyti galimų atsargų kiekio ({q})" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "Įveskite serijos numerius naujiems elementams" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "Paskirties atsargų vieta" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "Neprivalomas pastabų laukas" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "Šiai detalei negali būti priskirti serijos numeriai" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "Serijos numeriai jau egzistuoja" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "Pasirinkite atsargų elementą montavimui" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "Montuojamas kiekis" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "Įveskite montuojamų elementų kiekį" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "Pridėkite operacijos pastabą (neprivaloma)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "Montuojamas kiekis turi būti bent 1" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "Atsargų elementas nepasiekiamas" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "Pasirinktos detalės nėra komplektavimo žiniaraštyje" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "Montuojamas kiekis negali viršyti turimo kiekio" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "Paskirties vieta išmontuotam elementui" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "Pasirinkite detalę, į kurią konvertuoti atsargų elementą" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "Pasirinkta detalė netinkama konvertavimui" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Negalima konvertuoti atsargų elemento, kuriam priskirta tiekėjo detalė" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "Atsargų elemento būsenos kodas" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "Paskirties vieta grąžintam elementui" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "Pasirinkite atsargų elementus būsenai pakeisti" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "Nepasirinkti jokie atsargų elementai" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Sub-vietos" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "Pirminė atsargų vieta" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "Detalė turi būti parduodama" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "Elementas priskirtas pardavimo užsakymui" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "Elementas priskirtas gamybos užsakymui" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "Klientas, kuriam priskiriami atsargų elementai" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "Pasirinkta įmonė nėra klientas" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "Atsargų priskyrimo pastabos" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "Turi būti pateiktas atsargų elementų sąrašas" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "Atsargų sujungimo pastabos" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "Leisti skirtingus tiekėjus" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "Leisti sujungti atsargų elementus su skirtingomis tiekėjų detalėmis" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "Leisti skirtingas būsenas" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "Leisti sujungti atsargų elementus su skirtingais būsenos kodais" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "Turi būti pateikti bent du atsargų elementai" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "Be pakeitimų" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "Atsargų elemento pirminio rakto reikšmė" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "Atsargų elemento nėra sandėlyje" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "Atsargų operacijos pastabos" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "Kitas serijos numeris" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "Ankstesnis serijos numeris" diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index 89638784e6..b3e00ea523 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API galapunkts nav atrasts" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Lietotājam nav atļaujas, lai apskatītu šo modeli" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Piezīmes" @@ -356,7 +356,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "" @@ -408,19 +408,19 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "" @@ -479,11 +479,11 @@ msgstr "" msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "" @@ -527,29 +527,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "" @@ -854,7 +854,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "" msgid "Complete" msgstr "" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3513,331 +3638,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index 60fa14c23c..13330c4007 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "Schakel tweestapsverificatie in voordat je iets anders kunt doen." -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API eindpunt niet gevonden" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "Lijst met items of filters moet worden opgegeven voor bulk bewerking" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "Items moeten worden opgegeven als een lijst" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "Ongeldige items lijst verstrekt" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "Filters moeten als woordenboek worden opgegeven" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "Ongeldige filters opgegeven" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "Alles filteren alleen gebruiken met True" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "Geen items die overeenkomen met de opgegeven criteria" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Gebruiker heeft geen rechten om dit model te bekijken" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "Ongeldige decimale waarde" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Opmerkingen" @@ -158,7 +158,7 @@ msgstr "Geen serienummers gevonden" #: InvenTree/helpers.py:723 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" -msgstr "" +msgstr "Hoeveelheid van unieke serienummers ({n}) moet overeenkomen met de hoeveelheid ({q})" #: InvenTree/helpers.py:841 msgid "Remove HTML tags from this value" @@ -356,7 +356,7 @@ msgstr "Chinees (traditioneel)" msgid "Log in to the app" msgstr "Log in op de app" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "E-mail" @@ -408,19 +408,19 @@ msgstr "Dubbele namen kunnen niet bestaan onder hetzelfde bovenliggende object" msgid "Invalid choice" msgstr "Ongeldige keuze" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Naam" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Omschrijving" msgid "Description (optional)" msgstr "Omschrijving (optioneel)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Pad" @@ -479,11 +479,11 @@ msgstr "Er is een fout gelogd door de server." msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Selecteer valuta uit beschikbare opties" @@ -527,29 +527,29 @@ msgstr "Overschot mag niet groter zijn dan 100%" msgid "Invalid value for overage" msgstr "Ongeldige waarde voor overschot" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Status van bestelling" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Bovenliggende Productie" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "Inclusief varianten" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "Inclusief varianten" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "Inclusief varianten" msgid "Part" msgstr "Onderdeel" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Categorie" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "Voorouderlijke bouw" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "Toegewezen aan mij" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Uitgegeven door" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "Toegewezen aan" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "Gemaakt voor" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "Gemaakt na" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "Heeft een startdatum" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "Vervaldatum voor" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "Vervaldatum na" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "Heeft doel datum" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "Doel datum voor" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "Doel datum na" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "Voltooid voor" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "Voltooid na" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "Min. datum" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "Max. datum" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "Boomstructuur uitsluiten" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Optioneel" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Samenstelling" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Gevolgd" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Testbaar" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "Openstaande order" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Toegewezen" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Beschikbaar" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -712,7 +712,7 @@ msgstr "Ongeldige keuze voor bovenliggende productie" #: build/models.py:198 msgid "Build orders can only be externally fulfilled for purchaseable parts" -msgstr "" +msgstr "Bestellingen bouwen kan alleen extern worden vervuld voor aankochte onderdelen" #: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" @@ -770,11 +770,11 @@ msgstr "Selecteer de locatie waar de voorraad van de productie vandaan moet kome #: build/models.py:299 msgid "External Build" -msgstr "" +msgstr "Externe bouw" #: build/models.py:300 msgid "This build order is fulfilled externally" -msgstr "" +msgstr "Deze bouw opdracht is extern uitgevoerd" #: build/models.py:305 msgid "Destination Location" @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Productiestatuscode" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Batchcode" @@ -854,7 +854,7 @@ msgstr "Uitgegeven door" msgid "User who issued this build order" msgstr "Gebruiker die de productieorder heeft gegeven" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Gebruiker of groep verantwoordelijk voor deze bouwopdracht" msgid "External Link" msgstr "Externe Link" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link naar externe URL" @@ -881,7 +881,7 @@ msgstr "Bouw prioriteit" msgid "Priority of this build order" msgstr "Prioriteit van deze bouwopdracht" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Project code" @@ -903,51 +903,50 @@ msgstr "Productieorder {build} is voltooid" msgid "A build order has been completed" msgstr "Een productieorder is voltooid" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "Serienummers moeten worden opgegeven voor traceerbare onderdelen" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Geen productie uitvoer opgegeven" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Productie uitvoer is al voltooid" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "Hoeveelheid kan niet groter zijn dan aantal" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Build output {serial} heeft niet alle vereiste tests doorstaan" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "Bouw order regel item" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Bouw object" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Bouw object" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Hoeveelheid" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Vereiste hoeveelheid voor bouwopdracht" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet overschrijden" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerde voorraad" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "Geselecteerde voorraadartikelen komen niet overeen met de BOM-regel" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Voorraadartikel" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Bron voorraadartikel" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Voorraad hoeveelheid toe te wijzen aan productie" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Installeren in" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Bestemming voorraadartikel" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Geheel getal vereist omdat de stuklijst traceerbare onderdelen bevat" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Serienummers" @@ -1070,10 +1071,10 @@ msgstr "Voer serienummers in voor productieuitvoeren" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Locatie" @@ -1089,8 +1090,8 @@ msgstr "Serienummers automatisch toewijzen" msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" @@ -1222,7 +1223,7 @@ msgstr "Bouw lijn-item" 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:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" @@ -1299,13 +1300,13 @@ msgstr "BOM onderdeel naam" msgid "Build" msgstr "Bouwen" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "Leveranciersonderdeel" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "Toegewezen hoeveelheid" @@ -1317,7 +1318,7 @@ msgstr "Bouw referentie" msgid "Part Category Name" msgstr "Naam categorie onderdeel" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Volgbaar" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "Varianten toestaan" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "Stuklijstartikel" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "Toegewezen voorraad" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "In bestelling" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "In productie" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "Externe voorraad" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Beschikbare Voorraad" @@ -1391,32 +1392,32 @@ msgstr "Geannuleerd" msgid "Complete" msgstr "Voltooid" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "Voorraad vereist voor productieorder" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "Achterstallige Productieorder" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Productieorder {bo} is nu achterstallig" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "Is koppeling" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "Is een bestand" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "Gebruiker heeft geen toestemming om deze bijlagen te verwijderen" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "Gebruiker heeft geen toestemming om deze bijlage te verwijderen." @@ -1436,61 +1437,61 @@ msgstr "Geen geldige valuta codes opgegeven" msgid "No plugin" msgstr "Geen plug-in gevonden" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Bijgewerkt" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Tijdstempel van laatste update" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Unieke projectcode" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Projectbeschrijving" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "Gebruiker of groep die verantwoordelijk is voor dit project" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "Instellingen" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Instellingswaarde" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "Gekozen waarde is geen geldige optie" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "Waarde moet een booleaanse waarde zijn" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "Waarde moet een geheel getal zijn" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "Waarde moet een geldig getal zijn" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "Waarde is niet geldig voor validatiecontrole" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "Sleutelreeks moet uniek zijn" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "Sleutelreeks moet uniek zijn" msgid "User" msgstr "Gebruiker" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "Prijs pauze hoeveelheid" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Prijs" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "Stukprijs op opgegeven hoeveelheid" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Eindpunt" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "Eindpunt waarop deze webhook wordt ontvangen" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "Naam van deze webhook" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Actief" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "Is deze webhook actief" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "Sleutel" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "Token voor toegang" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Geheim" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "Gedeeld geheim voor HMAC" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "Bericht ID" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "Unieke identificatie voor dit bericht" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "Host" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "Host waarvan dit bericht is ontvangen" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Koptekst" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "Koptekst van dit bericht" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Berichtinhoud" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "Inhoud van dit bericht" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "Eindpunt waarop dit bericht is ontvangen" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "Aan gewerkt" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "Is het werk aan dit bericht voltooid?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "Id" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Titel" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Koppeling" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Gepubliceerd" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Auteur" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Samenvatting" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Gelezen" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "Is dit nieuwsitem gelezen?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Afbeelding" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Afbeelding" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "Doel type voor deze afbeelding" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "Doel modelnummer voor deze afbeelding" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "Aangepaste eenheid" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "Eenheid symbool moet uniek zijn" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "Naam van de unit moet een geldig id zijn" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "Naam van eenheid" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Symbool" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "Optionele eenheid symbool" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Definitie" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Definitie van eenheid" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Bijlage" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Ontbrekend bestand" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Externe link ontbreekt" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "Model type" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "Doel type voor afbeelding" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Bestand als bijlage selecteren" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Opmerking" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "Opmerking van bijlage" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "Uploaddatum" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "Datum waarop het bestand is geüpload" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "Bestandsgrootte" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "Bestandsgrootte in bytes" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "Ongeldig modeltype opgegeven voor bijlage" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "Aangepaste staat" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "Aangepaste statussen" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "Referentie status set" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "Status set die met deze aangepaste status wordt uitgebreid" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Logische sleutel" -#: common/models.py:2032 +#: common/models.py:2041 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:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Waarde" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "De numerieke waarde die wordt opgeslagen in de modellendatabase" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "Naam van de toestand" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "Label" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "Label dat in de frontend getoond wordt" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "Kleur" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "Kleur die in de frontend getoond wordt" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "Model" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "Model met deze staat is gekoppeld aan" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "Het model moet worden gekozen" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "Sleutel moet worden geselecteerd" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "Logische sleutel moet worden geselecteerd" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "Sleutel moet anders zijn dan logische sleutel" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "Geldige referentie status klasse moet worden opgegeven" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "Sleutel moet verschillen van de logische sleutels van de referentie status" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "Logische sleutel moet in de logische sleutels van de referentiestatus staan" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "Naam moet anders zijn dan de namen van de referentie status" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "Keuzelijst" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "Selectielijst" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "Naam van de selectielijst" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "Beschrijving van de selectielijst" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "Vergrendeld" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "Is deze selectielijst vergrendeld?" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "Kan deze selectielijst worden gebruikt?" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "Bron plug-in" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "Plug-in die de selectielijst biedt" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "Bron tekenreeks" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "Optionele tekenreeks die de bron identificeert die voor deze lijst wordt gebruikt" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "Standaard vermelding" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "Standaard vermelding voor deze selectielijst" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Gecreëerd" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "Datum en tijd waarop de selectielijst is aangemaakt" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Laatst bijgewerkt" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "Datum en tijd waarop de selectielijst voor het laatst is bijgewerkt" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "Selectielijst item" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "Selectielijst item" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "Selectielijst waaraan dit item hoort" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "Naam van de selectielijst" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "Label voor het item in de selectielijst" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "Beschrijving van het item in de selectielijst" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "Is dit item in deze lijst actief?" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "Barcode Scan" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Gegevens" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "Barcode gegevens" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "Gebruiker die de barcode gescand heeft" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "Tijdstempel" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "Datum en tijd van de streepjescode scan" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "Adres eindpunt dat de streepjescode verwerkt" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Inhoud" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "Contextgegevens voor de barcode scan" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "Reactie" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "Reactiegegevens van de barcode scan" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Resultaat" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "Was de barcode succesvol gescand?" +#: common/models.py:2469 +msgid "Email Message" +msgstr "E-mailbericht" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "E-mail berichten" + +#: common/models.py:2477 +msgid "Announced" +msgstr "Aangekondigd" + +#: common/models.py:2479 +msgid "Sent" +msgstr "Verzonden" + +#: common/models.py:2480 +msgid "Failed" +msgstr "Mislukt" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "Geleverd" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "Bevestigd" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "Inkomend" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "Uitgaand" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "Geen antwoord" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "Track levering" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "Track gelezen" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "Track Klik" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "Globaal ID" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "Identificatie voor dit bericht (kan worden geleverd door een extern systeem)" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "Discussie ID" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "Identificatie voor deze bericht draad (kan worden geleverd door een extern systeem)" + +#: common/models.py:2540 +msgid "Thread" +msgstr "Gesprek" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "Gekoppeld onderwerp voor dit bericht" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "Prioriteit" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "E-mail gesprekken" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "E-mail gesprekken" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Sleutel" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "Unieke sleutel voor deze thread (gebruikt om de conversatie te identificeren)" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "Unieke identificatie voor dit bericht" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "Intern gestart" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "Is dit onderwerp intern gestart?" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "Datum en tijd waarop de conversatie voor het laatst is bijgewerkt" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "Datum en tijd waarop de conversatie voor het laatst is bijgewerkt" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2013,86 +2130,86 @@ msgstr "Fout veroorzaakt door plug-in" #: common/serializers.py:132 msgid "Indicates if the setting is overridden by an environment variable" -msgstr "" +msgstr "Geeft aan of de instelling overschreven wordt door een omgevingsvariabele" #: common/serializers.py:134 msgid "Override" -msgstr "" +msgstr "Overschrijven" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "Is actief" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "Openstaande taken" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Geplande taken" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Mislukte taken" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "Taak ID" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "Unieke taak ID" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "Vergrendel" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Tijdstip van vergrendeling" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Naam van de taak" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Functie" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Functie naam" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Argumenten" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Taak argumenten" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "Trefwoord argumenten" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "Taak trefwoord argumenten" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Bestandsnaam" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "Model type" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "Gebruiker heeft geen toestemming om bijlagen voor dit model te maken of te bewerken" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "Lijst met selecties is vergrendeld" @@ -2104,1073 +2221,1089 @@ msgstr "Geen groep" msgid "Site URL is locked by configuration" msgstr "Website URL is vergrendeld door configuratie" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Opnieuw opstarten vereist" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "Een instelling is gewijzigd waarvoor een herstart van de server vereist is" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Migraties in behandeling" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "Aantal nog openstaande database migraties" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "Instantie Id" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "Unieke identificatie voor deze InvenTree instantie" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "Aankondiging ID" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "Kondig de instantie ID van de server aan in de server status info (ongeautoriseerd)" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "ID Serverinstantie" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "Stringbeschrijving voor de server instantie" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Gebruik de instantie naam" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "Gebruik de naam van de instantie in de titelbalk" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "Tonen `over` beperken" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "Toon de `over` modal alleen aan superusers" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Bedrijfsnaam" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Interne bedrijfsnaam" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "Basis-URL" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "Basis URL voor serverinstantie" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Standaard Valuta" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "Selecteer basisvaluta voor de berekening van prijzen" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "Ondersteunde valuta" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "Lijst van ondersteunde valuta codes" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "Valuta update interval" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Hoe vaak te controleren op updates (nul om uit te schakelen)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "dagen" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "Valuta update plug-in" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "Munteenheid update plug-in om te gebruiken" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Download van URL" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Download van afbeeldingen en bestanden vanaf een externe URL toestaan" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "Download limiet" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "Maximale downloadgrootte voor externe afbeelding" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "User-agent gebruikt om te downloaden van URL" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Sta toe om de user-agent te overschrijven die gebruikt wordt om afbeeldingen en bestanden van externe URL te downloaden (laat leeg voor de standaard)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "Strikte URL validatie" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "Vereis schema specificatie bij het valideren van URLs" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Interval voor update" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "Hoe vaak te controleren op updates (nul om uit te schakelen)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Automatische backup" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Automatische back-up van database- en mediabestanden inschakelen" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Automatische backup interval" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Geef het aantal dagen op tussen geautomatiseerde backup" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "Interval Taak Verwijderen" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "Resultaten van achtergrondtaken worden verwijderd na het opgegeven aantal dagen" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "Error Log Verwijderings Interval" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "Resultaten van achtergrondtaken worden verwijderd na het opgegeven aantal dagen" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "Interval Verwijderen Notificatie" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Meldingen van gebruikers worden verwijderd na het opgegeven aantal dagen" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Streepjescodeondersteuning" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "Schakel barcodescanner ondersteuning in in de webinterface" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "Sla de resultaten van de barcode op" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "Sla de barcode scan resultaten op in de database" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "Maximale aantal Barcode Scans" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "Maximum aantal resultaten van de barcode scan op te slaan" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "Barcode Invoer Vertraging" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "Barcode invoerverwerking vertraging" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "Barcode Webcam Ondersteuning" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "Barcode via webcam scannen in browser toestaan" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "Barcode gegevens" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "Geef barcode gegevens weer in browser als tekst" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "Streepjescode Plug-in" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "Plug-in om te gebruiken voor interne barcode data genereren" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "Herzieningen onderdeel" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "Revisieveld voor onderdeel inschakelen" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "Alleen assemblee revisie" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "Alleen revisies toestaan voor assemblageonderdelen" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "Verwijderen uit Assemblage toestaan" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "Verwijderen van onderdelen die in een groep worden gebruikt toestaan" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "IPN Regex" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulier expressiepatroon voor het overeenkomende Onderdeel IPN" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Duplicaat IPN toestaan" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "Toestaan dat meerdere onderdelen dezelfde IPN gebruiken" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "Bewerken IPN toestaan" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "Sta het wijzigen van de IPN toe tijdens het bewerken van een onderdeel" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Kopieer Onderdeel Stuklijstgegevens" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopieer standaard stuklijstgegevens bij het dupliceren van een onderdeel" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "Kopieer Onderdeel Parametergegevens" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "Parametergegevens standaard kopiëren bij het dupliceren van een onderdeel" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "Kopieer Onderdeel Testdata" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "Testdata standaard kopiëren bij het dupliceren van een onderdeel" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "Kopiëer Categorieparameter Sjablonen" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "Kopieer categorieparameter sjablonen bij het aanmaken van een onderdeel" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Sjabloon" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "Onderdelen zijn standaard sjablonen" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Onderdeel" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "Onderdelen kunnen standaard worden gebruikt als subcomponenten" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Koopbaar" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "Onderdelen kunnen standaard gekocht worden" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Verkoopbaar" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "Onderdelen kunnen standaard verkocht worden" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "Onderdelen kunnen standaard gevolgd worden" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Virtueel" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Onderdelen zijn standaard virtueel" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Verwante onderdelen tonen" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Verwante onderdelen voor een onderdeel tonen" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "Initiële voorraadgegevens" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "Aanmaken van eerste voorraad toestaan bij het toevoegen van een nieuw onderdeel" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "Initiële leveranciergegevens" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Aanmaken van eerste leveranciersgegevens toestaan bij het toevoegen van een nieuw onderdeel" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Onderdelennaam Weergaveopmaak" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Opmaak om de onderdeelnaam weer te geven" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "Standaardicoon voor onderdeel catagorie" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "Standaardicoon voor onderdeel catagorie (leeg betekent geen pictogram)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "Forceer Parameter Eenheden" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "Als er eenheden worden opgegeven, moeten parameterwaarden overeenkomen met de opgegeven eenheden" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "Minimaal aantal prijs decimalen" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimaal aantal decimalen om weer te geven bij het weergeven van prijsgegevens" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "Maximum prijs decimalen" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maximum aantal decimalen om weer te geven bij het weergeven van prijsgegevens" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Gebruik leveranciersprijzen" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Prijsvoordelen leveranciers opnemen in de totale prijsberekening" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Aankoopgeschiedenis overschrijven" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historische order prijzen overschrijven de prijzen van de leverancier" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "Gebruik voorraaditem prijzen" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Gebruik prijzen van handmatig ingevoerde voorraadgegevens voor prijsberekeningen" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "Voorraad artikelprijs leeftijd" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Voorraaditems ouder dan dit aantal dagen uitsluiten van prijsberekeningen" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "Gebruik variantprijzen" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "Variantenprijzen opnemen in de totale prijsberekening" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "Alleen actieve varianten" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "Gebruik alleen actieve variantonderdelen voor het berekenen van variantprijzen" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "Prijzen Herbouw interval" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "Aantal dagen voordat de prijzen voor onderdelen automatisch worden bijgewerkt" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Interne Prijzen" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "Inschakelen van interne prijzen voor onderdelen" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Interne prijs overschrijven" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "Indien beschikbaar, interne prijzen overschrijven berekeningen van prijsbereik" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Printen van labels Inschakelen" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Printen van labels via de webinterface inschakelen" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "Label Afbeelding DPI" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI resolutie bij het genereren van afbeelginsbestanden voor label printer plugins" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Activeer Rapportages" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Activeer het genereren van rapporten" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Foutopsporingsmodus" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "Rapporten genereren in debug modus (HTML uitvoer)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "Log fouten" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "Registreer fouten die optreden bij het genereren van rapporten" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Paginagrootte" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapporten" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "Globaal unieke serienummers" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummers voor voorraaditems moeten globaal uniek zijn" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "Verwijder uitgeputte voorraad" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "Bepaalt standaard gedrag wanneer een voorraadartikel leeg is" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "Batchcode Sjabloon" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "Sjabloon voor het genereren van standaard batchcodes voor voorraadartikelen" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "Verlopen Voorraad" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "Verlopen voorraad functionaliteit inschakelen" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "Verkoop Verlopen Voorraad" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "Verkoop verlopen voorraad toestaan" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "Voorraad Vervaltijd" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "Aantal dagen voordat voorraadartikelen als verouderd worden beschouwd voor ze verlopen" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "Produceer Verlopen Voorraad" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "Sta productie met verlopen voorraad toe" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "Voorraad Eigenaar Toezicht" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "Eigenaarstoezicht over voorraadlocaties en items inschakelen" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "Voorraadlocatie standaard icoon" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "Standaard locatie pictogram (leeg betekent geen icoon)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "Geïnstalleerde voorraad items weergeven" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "Geïnstalleerde voorraadartikelen in voorraadtabellen tonen" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "Controleer BOM bij het installeren van items" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Geïnstalleerde voorraad items moeten in de BOM voor het bovenliggende deel bestaan" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "Sta 'Niet op voorraad overschrijving' toe" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Toestaan dat voorraadartikelen die niet op voorraad zijn worden overgebracht tussen voorraadlocaties" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "Productieorderreferentiepatroon" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Vereist patroon voor het genereren van het Bouworderreferentieveld" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "Vereis verantwoordelijke eigenaar" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "Een verantwoordelijke eigenaar moet worden toegewezen aan elke bestelling" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "Vereist een actief onderdeel" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "Voorkom het maken van orders voor inactieve onderdelen" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "Vergrendeld onderdeel vereisen" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "Voorkom het maken van orders voor ontgrendelde onderdelen" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "Vereist een geldige BOM" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "Voorkom het creëren van bouworders tenzij BOM is gevalideerd" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "Onderliggende bestellingen vereist" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "Voorkom voltooiing van de bouw tot alle sub orders gesloten zijn" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" -msgstr "" +msgstr "Externe Bouw Orders" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" -msgstr "" +msgstr "Inschakelen externe build order functionaliteit" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "Blokkeren tot test geslaagd" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Voorkom dat de bouw van de uitvoer wordt voltooid totdat alle vereiste testen zijn geslaagd" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "Retourorders inschakelen" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "Retourorder functionaliteit inschakelen in de gebruikersinterface" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "Retourorder referentie patroon" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "Verplicht patroon voor het genereren van Retourorder referentie veld" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "Bewerk voltooide retourorders" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "Bewerken van retourorders toestaan nadat deze zijn voltooid" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "Verkooporderreferentiepatroon" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "Vereist patroon voor het genereren van het Verkooporderreferentieveld" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "Standaard Verzending Verkooporder" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "Aanmaken standaard verzending bij verkooporders inschakelen" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "Bewerk voltooide verkooporders" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Bewerken van verkooporders toestaan nadat deze zijn verzonden of voltooid" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "Verstuurde bestellingen markeren als voltooid" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Verkooporders gemarkeerd als verzonden zullen automatisch worden voltooid, zonder de status \"verzonden\"" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "Inkooporderreferentiepatroon" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "Vereist patroon voor het genereren van het Inkooporderreferentieveld" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "Bewerk voltooide verkooporders" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Bewerken van inkooporders toestaan nadat deze zijn verzonden of voltooid" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "Valuta converteren" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "Verander artikelwaarde naar basisvaluta bij het ontvangen van voorraad" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "Inkooporders automatisch voltooien" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Markeer orders automatisch als voltooid wanneer alle regelitems worden ontvangen" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Wachtwoord vergeten functie inschakelen" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Wachtwoord vergeten functie inschakelen op de inlogpagina's" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Registratie inschakelen" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Zelfregistratie voor gebruikers op de inlogpagina's inschakelen" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "SSO inschakelen" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "SSO inschakelen op de inlogpagina's" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "Schakel gebruikersregistratie met SSO in" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Zelfregistratie voor gebruikers middels SSO op de inlogpagina's inschakelen" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "SSO-groep synchroniseren inschakelen" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "Inschakelen van het synchroniseren van InvenTree groepen met groepen geboden door de IdP" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "SSO groep sleutel" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "De naam van de groepen claim attribuut van de IdP" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "SSO groep kaart" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "Een mapping van SSO-groepen naar lokale InvenTree groepen. Als de lokale groep niet bestaat, zal deze worden aangemaakt." -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "Verwijder groepen buiten SSO" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "Of groepen die zijn toegewezen aan de gebruiker moeten worden verwijderd als ze geen backend zijn door de IdP. Het uitschakelen van deze instelling kan beveiligingsproblemen veroorzaken" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "E-mailadres verplicht" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "Vereis gebruiker om e-mailadres te registreren bij aanmelding" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "SSO-gebruikers automatisch invullen" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "Gebruikersdetails van SSO-accountgegevens automatisch invullen" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "E-mail twee keer" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "Bij inschrijving gebruikers twee keer om hun e-mail vragen" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Wachtwoord tweemaal" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "Laat gebruikers twee keer om hun wachtwoord vragen tijdens het aanmelden" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Toegestane domeinen" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Inschrijven beperken tot bepaalde domeinen (komma-gescheiden, beginnend met @)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Groep bij aanmelding" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "Groep waaraan nieuwe gebruikers zijn toegewezen op registratie. Als SSO-groepssynchronisatie is ingeschakeld, is deze groep alleen ingesteld als er geen groep vanuit de IdP kan worden toegewezen." -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "MFA afdwingen" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "Gebruikers moeten multifactor-beveiliging gebruiken." -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "Controleer plugins bij het opstarten" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Controleer of alle plug-ins zijn geïnstalleerd bij het opstarten - inschakelen in container-omgevingen" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "Controleren op plug-in updates" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "Schakel periodieke controles voor updates voor geïnstalleerde plug-ins in" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "Activeer URL-integratie" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "Plugins toestaan om URL-routes toe te voegen" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "Activeer navigatie integratie" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "Plugins toestaan om te integreren in navigatie" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "Activeer app integratie" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "Activeer plug-ins om apps toe te voegen" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "Activeer planning integratie" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "Activeer plugin om periodiek taken uit te voeren" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "Activeer evenement integratie" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "Activeer plugin om op interne evenementen te reageren" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "Interface integratie activeren" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "Plug-ins inschakelen om te integreren in de gebruikersinterface" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "E-mail integratie inschakelen" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "Schakel plug-ins in om uitgaande / inkomende mails te verwerken" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "Activeer project codes" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "Schakel projectcodes in voor het bijhouden van projecten" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "Voorraadcontrole functionaliteit" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Schakel voorraadfunctionaliteit in voor het opnemen van voorraadniveaus en het berekenen van voorraadwaarde" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "Externe locaties uitsluiten" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Voorraadartikelen op externe locaties uitsluiten van voorraadberekeningen" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "Automatische Voorraadcontrole Periode" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Aantal dagen tussen automatische voorraadopname (ingesteld op nul om uit te schakelen)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "Rapport Verwijdering Interval" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Voorraadrapportage zal worden verwijderd na het opgegeven aantal dagen" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "Gebruikers volledige namen weergeven" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "Laat gebruikers volledige namen zien in plaats van gebruikersnamen" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "Gebruikersprofielen tonen" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "Toon gebruikersprofielen op hun profielpagina" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "Inschakelen van teststation data" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "Schakel teststation gegevensverzameling in voor testresultaten" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "Maak template aan bij het uploaden" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "Maak een nieuw testsjabloon bij het uploaden van testgegevens die niet overeenkomen met een bestaande sjabloon" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "Voorkeursindeling voor weergave van datums" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Onderdeel planning" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "Toon informatie voor het plannen van onderdelen" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "Voorraadcontrole onderdeel" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Toon voorraadinformatie van onderdeel (als voorraadcontrole functionaliteit is ingeschakeld)" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "Toon laatste broodkruimel" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "Toon de huidige pagina in het kruimelpad" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "Foutrapportages ontvangen" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "Meldingen ontvangen van systeemfouten" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "Laatst gebruikte printer" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "Sla de laatst gebruikte printer op voor een gebruiker" @@ -3499,13 +3624,13 @@ msgstr "Intern onderdeel is actief" msgid "Supplier is Active" msgstr "Leverancier is actief" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Fabrikant" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Bedrijf" @@ -3513,331 +3638,331 @@ msgstr "Bedrijf" msgid "Has Stock" msgstr "Heeft voorraad" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Bedrijven" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Bedrijf omschrijving" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "Omschrijving van het bedrijf" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Website" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "URL bedrijfswebsite" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Telefoonnummer" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Telefoonnummer voor contact" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Contact e-mailadres" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Contact" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "Contactpunt" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "Link naar externe bedrijfsinformatie" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "Is dit bedrijf actief?" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "Is klant" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "Verkoop je artikelen aan dit bedrijf?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "Is leverancier" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "Koop je artikelen van dit bedrijf?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "Is fabrikant" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "Fabriceert dit bedrijf onderdelen?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "Standaardvaluta die gebruikt wordt voor dit bedrijf" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Adres" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Adres" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Selecteer bedrijf" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "Adres titel" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "Titel die het adres beschrijft" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Primair adres" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Instellen als primair adres" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "Lijn 1" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "Adresregel 1" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "Lijn 2" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "Adresregel 2" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Post code" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Plaats/regio" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "Postcode plaats/regio" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "Staat/provincie" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "Staat of provincie" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "Land" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "Adres land" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "Koerier verzend notities" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "Opmerkingen voor verzending koerier" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "Interne verzend notities" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "Verzend notities voor intern gebruik" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "Link naar adres gegevens (extern)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Fabrikant onderdeel" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Basis onderdeel" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Onderdeel selecteren" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Fabrikant selecteren" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "Fabrikant artikel nummer" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Fabrikant artikel nummer (MPN)" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "URL voor externe link van het fabrikant onderdeel" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "Omschrijving onderdeel fabrikant" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "Fabrikant onderdeel parameter" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Parameternaam" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Parameterwaarde" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Eenheden" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Parameter eenheden" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "Pakket eenheden moeten compatibel zijn met de basis onderdeel eenheden" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Leverancier" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "Voorraad beheers eenheid voor leveranciers" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "Is dit leveranciersdeel actief?" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Selecteer fabrikant onderdeel" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "URL voor link externe leveranciers onderdeel" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "Omschrijving leveranciersdeel" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Opmerking" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "basisprijs" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Verpakking" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "Onderdeel verpakking" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "Pakket hoeveelheid" -#: company/models.py:858 +#: company/models.py:891 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:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "meerdere" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "Order meerdere" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "Beschikbare hoeveelheid van leverancier" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "Beschikbaarheid bijgewerkt" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "Datum van de laatste update van de beschikbaarheid gegevens" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "Prijsverschil van leverancier" @@ -3853,7 +3978,7 @@ msgstr "Standaardvaluta die gebruikt wordt voor deze leverancier" msgid "Company Name" msgstr "Bedrijfsnaam" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "Op voorraad" @@ -3889,10 +4014,6 @@ msgstr "Additionele statusinformatie voor dit item" msgid "Custom status key" msgstr "Aangepaste status sleutel" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Sleutel" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "Aangepast" @@ -3997,7 +4118,7 @@ msgstr "Oorspronkelijke rij gegevens" msgid "Errors" msgstr "Fouten" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "Geldig" @@ -4247,7 +4368,7 @@ msgstr "Voltooid na" #: order/api.py:331 order/api.py:335 msgid "External Build Order" -msgstr "" +msgstr "Externe Bouw Opdracht" #: order/api.py:508 order/api.py:893 order/api.py:1119 order/models.py:1751 #: order/models.py:1880 order/models.py:1931 order/models.py:2085 @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "Orderreferentie" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Status" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "Hoeveelheid moet een positief getal zijn" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4523,15 +4644,15 @@ msgstr "Leveranciersonderdeel moet overeenkomen met leverancier" #: order/models.py:1723 msgid "Build order must be marked as external" -msgstr "" +msgstr "Bouw bestelling moet worden gemarkeerd als extern" #: order/models.py:1730 msgid "Build orders can only be linked to assembly parts" -msgstr "" +msgstr "Bestellingen kunnen alleen aan assemblageonderdelen worden gekoppeld" #: order/models.py:1736 msgid "Build order part must match line item part" -msgstr "" +msgstr "De bouw van het order deel moet overeenkomen met regel onderdeel" #: order/models.py:1771 msgid "Supplier part" @@ -4545,7 +4666,7 @@ msgstr "Ontvangen" msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "Inkoopprijs" @@ -4555,7 +4676,7 @@ msgstr "Aankoopprijs per stuk" #: order/models.py:1804 msgid "External Build Order to be fulfilled by this line item" -msgstr "" +msgstr "Externe Build Order moet aan deze regel voldoen" #: order/models.py:1869 msgid "Purchase Order Extra Line" @@ -4851,11 +4972,11 @@ msgstr "Items samenvoegen" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Items met hetzelfde onderdeel, bestemming en doeldatum samenvoegen in één regelitem" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "SKU" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "Intern Onderdeelnummer" @@ -5047,130 +5168,114 @@ msgstr "Restitutie" msgid "Reject" msgstr "Afwijzen" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "Achterstallige inkooporder" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Inkooporder {po} is nu achterstallig" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "Achterstallige Verkooporder" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Verkooporder {so} is nu achterstallig" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "Achterstallige retour orders" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "Productieorder {ro} is nu achterstallig" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "Favoriet" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "Filter op categorieën met ster" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "Diepte" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "Filteren op categorie diepte" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "Hoogste niveau" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "Filteren op topniveau categorieën" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "Stapelen" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "Inclusief subcategorieën in gefilterde resultaten" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "Bovenliggend" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "Filter op bovenliggende categorie" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "Subcategorieën uitsluiten in de opgegeven categorie" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "Heeft resultaten" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "Binnenkomende Inkooporder" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "Uitgaande Verkooporder" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "Geproduceerde voorraad door Productieorder" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "Voorraad vereist voor Productieorder" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "Valideer de gehele materiaalbon" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "Deze optie moet geselecteerd worden" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "Is een variant" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "Is revisie" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "Heeft revisies" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "BOM Valid" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "Assemblage deel is testbaar" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "Component onderdeel is testbaar" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "Gebruik" @@ -5220,7 +5325,7 @@ msgstr "Pictogram (optioneel)" 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:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Onderdelen" @@ -5336,7 +5441,7 @@ msgstr "Deel sleutelwoorden om de zichtbaarheid van de zoekresultaten te verbete msgid "Part category" msgstr "Onderdeel Categorie" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -5345,7 +5450,7 @@ msgstr "IPN" msgid "Part revision or version number" msgstr "Onderdeel revisie of versienummer" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Revisie" @@ -5377,7 +5482,7 @@ msgstr "Standaard verval datum" msgid "Expiry time (in days) for stock items of this part" msgstr "Verlooptijd (in dagen) voor voorraadartikelen van dit deel" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Minimum voorraad" @@ -5613,7 +5718,7 @@ msgstr "Aantal individuele voorraadvermeldingen op het moment van voorraadcontro msgid "Total available stock at time of stocktake" msgstr "Totale voorraad op het moment van voorraadcontrole" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Datum" @@ -5714,7 +5819,7 @@ msgstr "Test beschrijving" msgid "Enter description for this test" msgstr "Voer beschrijving in voor deze test" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Ingeschakeld" @@ -5978,359 +6083,351 @@ msgstr "Resultaten" msgid "Number of results recorded against this template" msgstr "Aantal resultaten opgenomen ten opzichte van deze template" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "Inkooporder voor dit voorraadartikel" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "Speculatieve hoeveelheid" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "Model Id" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "Bestand is geen afbeelding" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "Aantal onderdelen die deze sjabloon gebruiken" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "Oorspronkelijk onderdeel" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "Selecteer origineel onderdeel om te dupliceren" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "Copy BOM" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "Kopieer materiaal van het oorspronkelijke deel" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "Parameters kopiëren" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "Notities kopiëren" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "Kopieer notities van het originele deel" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" -msgstr "" +msgstr "Tests kopiëren" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" -msgstr "" +msgstr "Test sjablonen kopiëren van het originele deel" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "Eerste voorraad hoeveelheid" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Specificeer de initiële voorraad hoeveelheid voor dit onderdeel. Als het aantal nul is, wordt er geen voorraad toegevoegd." -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "Eerste voorraad locatie" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "Specificeer locatie van de eerste voorraad voor dit onderdeel" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "Selecteer leverancier (of laat leeg om niets in te vullen)" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecteer fabrikant (of laat leeg om niets in te vullen)" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "Fabrikant artikel nummer" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "Geselecteerde onderneming is geen geldige leverancier" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "Geselecteerde bedrijf is geen geldige fabrikant" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "Fabrikant deel dat overeenkomt met deze MPN bestaat al" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "Leveranciersdeel dat overeenkomt met deze SKU bestaat al" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Categorie naam" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "Bouwen" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" -msgstr "" +msgstr "Hoeveelheid van dit deel dat momenteel in productie is" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" -msgstr "" +msgstr "Gepland om te bouwen" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" -msgstr "" +msgstr "Er zal een onuitputtelijke hoeveelheid van dit deel worden gebouwd" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Voorraadartikelen" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "Revisies" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Leveranciers" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Totale Voorraad" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "Niet toegewezen voorraad" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "Variant voorraad" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "Dupliceer onderdeel" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "Kopieer eerste gegevens uit een ander onderdeel" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "Eerste voorraad" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "Maak onderdeel met eerste voorraad" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "Leveranciersgegevens" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "Aanvankelijke leveranciersinformatie voor dit deel toevoegen" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "Categorie parameters kopiëren" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "Parameter sjablonen kopiëren uit geselecteerde onderdeel categorie" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "Bestaande afbeelding" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "Bestandsnaam van een bestaande onderdeel afbeelding" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "Afbeeldingsbestand bestaat niet" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "Kan bouwen" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" -msgstr "" +msgstr "Vereist voor bouworders" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" -msgstr "" +msgstr "Toegewezen aan bouwen van orders" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" -msgstr "" +msgstr "Vereist voor verkooporders" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" -msgstr "" +msgstr "Toegewezen aan verkooporders" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limiteer de voorraadrapportage tot een bepaald onderdeel en eventuele variant onderdelen" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limiteer de voorraadrapportage tot een bepaalde deelcategorie en alle onderliggende categorieën" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limiteer de voorraadrapportage tot een bepaalde voorraadlocatie en alle onderliggende locaties" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "Externe voorraad uitsluiten" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "Voorraadartikelen op externe locaties uitsluiten" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Rapport genereren" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "Genereer een bestand met berekende voorraad namen gegevens" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "Onderdelen bijwerken" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "Bijwerken van de opgegeven onderdelen met berekende voorraad gegevens" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "Voorraadcontrole functionaliteit is niet ingeschakeld" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Achtergrondwerker check is gefaald" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Minimale prijs" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "Overschrijf berekende waarde voor minimale prijs" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "Minimale prijs valuta" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Maximale prijs" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "Overschrijf de berekende waarde voor de maximale prijs" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "Maximale prijs valuta" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Bijwerken" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "Prijzen voor dit onderdeel bijwerken" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Kan niet converteren van de verstrekte valuta naar {default_currency}" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "Minimumprijs mag niet hoger zijn dan de maximale prijs" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "Maximale prijs mag niet lager zijn dan de minimale prijs" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "Selecteer de bovenliggende assemblage" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "Selecteer het onderdeel" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "Selecteer onderdeel om BOM van te kopiëren" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "Bestaande gegevens verwijderen" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "Verwijder bestaande BOM items voor het kopiëren" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "Inclusief overgenomen" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "Inclusief stuklijst BOM items die worden overgenomen van getemplated onderdelen" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "Ongeldige regels overslaan" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "Schakel deze optie in om ongeldige rijen over te slaan" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "Verwijder vervangend deel" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopieer vervangende onderdelen bij dubbele stuklijst BOM items" @@ -6652,8 +6749,8 @@ msgstr "Biedt ondersteuning voor barcodes" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "InvenTree bijdragers" @@ -6683,59 +6780,59 @@ msgstr "Aanpassen van prefix voor korte streepjescodes, kan handig zijn voor omg #: plugin/builtin/events/auto_create_builds.py:28 msgid "Auto Create Builds" -msgstr "" +msgstr "Automatisch builds aanmaken" #: plugin/builtin/events/auto_create_builds.py:31 msgid "Automatically create build orders for assemblies" -msgstr "" +msgstr "Automatisch bouworders voor assemblages aanmaken" #: plugin/builtin/events/auto_issue_orders.py:17 msgid "Auto Issue Orders" -msgstr "" +msgstr "Automatische uitgifte orders" #: plugin/builtin/events/auto_issue_orders.py:20 msgid "Automatically issue orders on the assigned target date" -msgstr "" +msgstr "Automatisch bestellingen uitgeven op de toegewezen doeldatum" #: plugin/builtin/events/auto_issue_orders.py:30 msgid "Auto Issue Build Orders" -msgstr "" +msgstr "Automatisch uitgeven Bouw orders" #: plugin/builtin/events/auto_issue_orders.py:32 msgid "Automatically issue build orders on the assigned target date" -msgstr "" +msgstr "Bouwopdracht automatisch uitgeven op de toegewezen doeldatum" #: plugin/builtin/events/auto_issue_orders.py:38 msgid "Auto Issue Purchase Orders" -msgstr "" +msgstr "Automatische uitgifte inkooporders" #: plugin/builtin/events/auto_issue_orders.py:40 msgid "Automatically issue purchase orders on the assigned target date" -msgstr "" +msgstr "Automatisch inkooporders uitgeven op de toegekende doeldatum" #: plugin/builtin/events/auto_issue_orders.py:46 msgid "Auto Issue Sales Orders" -msgstr "" +msgstr "Automatische uitgifte van verkooporders" #: plugin/builtin/events/auto_issue_orders.py:48 msgid "Automatically issue sales orders on the assigned target date" -msgstr "" +msgstr "Verkooporders automatisch uitgeven op de toegekende doeldatum" #: plugin/builtin/events/auto_issue_orders.py:54 msgid "Auto Issue Return Orders" -msgstr "" +msgstr "Automatisch uitgifte retour bestellingen" #: plugin/builtin/events/auto_issue_orders.py:56 msgid "Automatically issue return orders on the assigned target date" -msgstr "" +msgstr "Retour orders automatisch uitgeven op de toegekende doeldatum" #: plugin/builtin/events/auto_issue_orders.py:62 msgid "Issue Backdated Orders" -msgstr "" +msgstr "Uitgeven achterhaalde orders" #: plugin/builtin/events/auto_issue_orders.py:63 msgid "Automatically issue orders that are backdated" -msgstr "" +msgstr "Automatisch orders uitgeven die achterhaald zijn" #: plugin/builtin/exporter/bom_exporter.py:17 msgid "Levels" @@ -6980,7 +7077,7 @@ msgstr "Rand" msgid "Print a border around each label" msgstr "Print een rand rond elk label" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "Liggend" @@ -6990,11 +7087,11 @@ msgstr "Print het label blad in liggende modus" #: plugin/builtin/labels/label_sheet.py:55 msgid "Page Margin" -msgstr "" +msgstr "Paginamarges" #: plugin/builtin/labels/label_sheet.py:56 msgid "Margin around the page in mm" -msgstr "" +msgstr "Marge rondom de pagina in mm" #: plugin/builtin/labels/label_sheet.py:69 msgid "InvenTree Label Sheet Printer" @@ -7012,51 +7109,51 @@ msgstr "Label is te groot voor pagina grootte" msgid "No labels were generated" msgstr "Geen labels gegenereerd" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "Integratie met leverancier - DigiKey" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "Biedt ondersteuning voor het scannen van DigiKey barcodes" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "De leverancier die als 'DigiKey' fungeert" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "Integratie met leveranciers - LCSC" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "Biedt ondersteuning voor het scannen van LCSC-barcodes" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "De leverancier die fungeert als 'LCSC'" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "Integratie met leverancier - Mouser" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "Biedt ondersteuning voor het scannen van Mouser barcodes" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "De leverancier die als 'Mouser' optreedt" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "Integratie met leverancier - TME" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "Biedt ondersteuning voor het scannen van TME barcodes " -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "De leverancier die als \"TME” optreedt " @@ -7161,21 +7258,21 @@ msgstr "Plug-in" msgid "Method" msgstr "Methode" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "Geen auteur gevonden" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "De plug-in '{p}' is niet compatibel met de huidige InvenTree versie {v}" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "De plug-in vereist minimaal versie {v}" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Plug-in vereist op de hoogste versie {v}" @@ -7204,11 +7301,11 @@ msgstr "Numeriek" msgid "A numerical setting" msgstr "Een numerieke instelling" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "Keuze instellingen" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "Een instelling met meerdere keuzes" @@ -7356,43 +7453,43 @@ msgstr "Plug-ins ophalen" msgid "Collect plugins and add them to the registry" msgstr "Verzamel plug-ins en voeg ze toe aan het register" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "Activeer plug-in" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "Deze plug-in activeren" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "Configuratie verwijderen" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "Verwijder de plug-in configuratie uit de database" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "Items" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "Plug-in niet gevonden" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "Plug-in is niet actief" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "Plug-in ondersteunt geen label printen" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "Ongeldige label afmetingen" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "Geen geldige items aan de template verstrekt" @@ -7416,132 +7513,140 @@ msgstr "Brief" msgid "Template file with this name already exists" msgstr "Sjabloonbestand met deze naam bestaat al" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "Template naam" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "Template beschrijving" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "Revisie nummer (auto verhogen)" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "Bevestig aan het model bij afdrukken" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Sla rapport output op als bijlage ten opzichte van gekoppelde model instantie bij afdrukken" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "Bestandsnaam Patroon" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "Patroon voor het genereren van bestandsnamen" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "Template is ingeschakeld" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "Doel type model voor sjabloon" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Filters" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "Sjabloon zoekfilters (door komma's gescheiden lijst van sleutel=waarde paren)" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "Sjabloon bestand" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "Standaard paginagrootte voor PDF rapport" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "Rapportage weergeven in liggende stand" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "Samenvoegen" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "Geef een enkel rapport tegen geselecteerde items" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "Rapport gegenereerd door template {self.name}" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "Fout bij genereren rapport" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Breedte [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "Label breedte, gespecificeerd in mm" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Hoogte [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "Label hoogte, gespecificeerd in mm" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "Fout afdrukken van labels" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "Tekstfragment" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "Rapporteer snippet bestand" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "Snippet bestandsbeschrijving" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "Asset" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "Rapporteer asset bestand" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "Beschrijving asset bestand" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "Selecteer rapport template" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "Lijst van primaire productsleutels op te nemen in het verslag" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "Selecteer label sjabloon" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "Plug-in printen" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "Selecteer de plug-in voor het afdrukken van labels" @@ -7568,6 +7673,8 @@ msgstr "Benodigde materialen" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7603,6 +7710,7 @@ msgstr "Totaal" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7620,10 +7728,22 @@ msgstr "Batch" msgid "Stock location items" msgstr "Voorraad locatie items" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Rapport voorraadcontrole" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "Geïnstalleerde items" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Serienummer" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Test resultaten" @@ -7648,15 +7768,6 @@ msgstr "Geen resultaat (verplicht)" msgid "No result" msgstr "Geen resultaat" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "Geïnstalleerde items" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Serienummer" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "Asset bestand bestaat niet" @@ -7673,123 +7784,123 @@ msgstr "part_image tag vereist een onderdeel instantie" msgid "company_image tag requires a Company instance" msgstr "bedrijf_imagetag vereist een bedrijfsinstantie" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "Filter op locatie diepte" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "Filter op topniveau locaties" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "Inclusief sublocaties in gefilterde resultaten" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "Bovenliggende locatie" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "Filter op bovenliggende locatie" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "Naam van onderdeel (hoofdletter ongevoelig)" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "Naam van onderdeel bevat (hoofdletter ongevoelig)" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "Naam onderdeel (regex)" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "Deel IPN (hoofdletter ongevoelig)" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "Onderdeel IPN bevat (hoofdletter ongevoelig)" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "Deel IPN (regex)" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "Minimale voorraad" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "Maximale voorraad" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "Status code" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "Externe locatie" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "Verbruikt door productieorder" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "Geïnstalleerd in een ander voorraadartikel" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "Boomstructuur onderdeel" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "Eerder bijgewerkt" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "Bijgewerkt na" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "Voorraadcontrole voor" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "Voorraadcontrole na" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "Vervaldatum voor" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "Vervaldatum na" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "Verouderd" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "Hoeveelheid is vereist" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "Geldig onderdeel moet worden opgegeven" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "Het opgegeven leveranciers onderdeel bestaat niet" -#: stock/api.py:1029 +#: stock/api.py:1048 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:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienummers kunnen niet worden meegeleverd voor een niet traceerbaar onderdeel" @@ -7898,7 +8009,7 @@ msgstr "Selecteer een leveranciersdeel voor dit voorraadartikel" msgid "Where is this stock item located?" msgstr "Waar bevindt zich dit voorraaditem?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "Het verpakken van dit voorraaditem is opgeslagen in" @@ -7914,7 +8025,7 @@ msgstr "Is dit item geïnstalleerd in een ander item?" msgid "Serial number for this item" msgstr "Serienummer van dit item" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "Batch code voor dit voorraaditem" @@ -7970,136 +8081,136 @@ msgstr "Enkele eenheidsprijs van de aankoop op het moment van aankoop" msgid "Converted to part" msgstr "Omgezet tot onderdeel" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "Onderdeel is niet ingesteld als traceerbaar" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "Hoeveelheid moet heel getal zijn" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Hoeveelheid mag niet hoger zijn dan de beschikbare voorraad ({self.quantity})" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "Serienummers moeten als lijst worden opgegeven" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "Hoeveelheid komt niet overeen met serienummers" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "Testsjabloon bestaat niet" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "Voorraadartikel is toegewezen aan een verkooporder" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "Voorraad item is geïnstalleerd in een ander item" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "Voorraadartikel bevat andere producten" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "Voorraadartikel is aan een klant toegewezen" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "Voorraad item is momenteel in productie" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "Geserialiseerde voorraad kan niet worden samengevoegd" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "Dupliceer voorraadartikelen" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "Voorraadartikelen moeten hetzelfde onderdeel verwijzen" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "Voorraadartikelen moeten verwijzen naar dezelfde leveranciersdeel" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "De voorraad statuscodes moeten overeenkomen" -#: stock/models.py:2196 +#: stock/models.py:2209 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:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "Voorraad item volgen" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "Item notities" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "Resultaat voorraad test resultaten" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "Waarde moet voor deze test worden opgegeven" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "Bijlage moet worden geüpload voor deze test" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "Ongeldige waarde voor deze test" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Test resultaat" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "Test uitvoer waarde" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "Test resultaat bijlage" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "Test notities" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "Test station" -#: stock/models.py:2841 +#: stock/models.py:2854 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:2847 +#: stock/models.py:2860 msgid "Started" msgstr "Gestart" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "Het tijdstip van de start test" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "Afgerond" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "Het tijdstip van de afgeronde test" @@ -8171,201 +8282,201 @@ msgstr "Bovenliggende voorraad item" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Gebruik pakketgrootte bij het toevoegen: de hoeveelheid gedefinieerd is het aantal pakketten" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "Leverancier artikelnummer" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "Verlopen" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "Onderliggende items" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "Items volgen" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "Inkoopprijs van dit voorraadartikel, per eenheid of pakket" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "Aantal voorraaditems om serienummers voor te maken" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Hoeveelheid mag niet hoger zijn dan de beschikbare voorraad ({q})" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "Voer serienummers voor nieuwe items in" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "Locatie van bestemming" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "Optioneel notities veld" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "Serienummers kunnen niet worden toegewezen aan dit deel" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "Serienummers bestaan al" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "Selecteer voorraaditem om te installeren" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "Te installeren hoeveelheid" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "Voer de te installeren hoeveelheid items in" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "Transactienotitie toevoegen (optioneel)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "Te installeren hoeveelheid moet minimaal 1 zijn" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "Voorraadartikel is niet beschikbaar" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "Het geselecteerde deel zit niet in de materialen lijst" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "De te installeren hoeveelheid mag niet groter zijn dan de beschikbare hoeveelheid" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "Bestemmingslocatie voor verwijderd item" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "Selecteer onderdeel om voorraaditem om te zetten in" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "Het geselecteerde deel is geen geldige optie voor de omzetting" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Kan voorraadartikel niet converteren met toegewezen leverancier deel" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "Voorraad status code" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "Bestemmingslocatie voor teruggestuurd item" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "Selecteer voorraadartikelen om status te wijzigen" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "Geen voorraaditems geselecteerd" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Sublocaties" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "Bovenliggende voorraad locatie" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "Onderdeel moet verkoopbaar zijn" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "Artikel is toegewezen aan een verkooporder" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "Artikel is toegewezen aan een productieorder" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "Klant om voorraadartikelen toe te wijzen" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "Geselecteerde bedrijf is geen klant" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "Voorraad toewijzing notities" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "Een lijst met voorraad artikelen moet worden opgegeven" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "Voorraad samenvoegen notities" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "Niet overeen komende leveranciers toestaan" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "Toestaan dat voorraadartikelen met verschillende leveranciers onderdelen worden samengevoegd" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "Sta onjuiste status toe" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "Toestaan dat voorraadartikelen met verschillende statuscodes worden samengevoegd" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "Er moeten ten minste twee voorraadartikelen worden opgegeven" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "Geen wijziging" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "Voorraaditem primaire sleutel waarde" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "Voorraad artikel is niet op voorraad" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "Voorraad transactie notities" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "Volgend serienummer" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "Vorig serienummer" @@ -8876,19 +8987,19 @@ msgstr "Enkel een supergebruiker kan dit veld aanpassen" #: users/serializers.py:373 msgid "Password" -msgstr "" +msgstr "Wachtwoord" #: users/serializers.py:374 msgid "Password for the user" -msgstr "" +msgstr "Wachtwoord voor de gebruiker" #: users/serializers.py:380 msgid "Override warning" -msgstr "" +msgstr "Overschrijf waarschuwing" #: users/serializers.py:381 msgid "Override the warning about password rules" -msgstr "" +msgstr "Overschrijf de waarschuwing over wachtwoord regels" #: users/serializers.py:423 msgid "Only staff users can create new users" diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index dd3754770b..d5830cb2cc 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API-endepunkt ikke funnet" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Brukeren har ikke rettigheter til å se denne modellen" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Notater" @@ -356,7 +356,7 @@ msgstr "Kinesisk (tradisjonell)" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "E-post" @@ -408,19 +408,19 @@ msgstr "Duplikatnavn kan ikke eksistere under samme overordnede" msgid "Invalid choice" msgstr "Ugyldig valg" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Navn" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Beskrivelse" msgid "Description (optional)" msgstr "Beskrivelse (valgfritt)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Sti" @@ -479,11 +479,11 @@ msgstr "En feil har blitt logget av serveren." msgid "Must be a valid number" msgstr "Må være et gyldig tall" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Velg valuta ut fra tilgjengelige alternativer" @@ -527,29 +527,29 @@ msgstr "Svinn kan ikke overstige 100%" msgid "Invalid value for overage" msgstr "Ugyldig verdi for svinn" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Ordrestatus" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Overordnet produksjon" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Kategori" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Utstedt av" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "Produksjonen må avbrytes før den kan slettes" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Valgfritt" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Sammenstilling" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Spores" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Tildelt" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Tilgjengelig" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Produksjonsstatuskode" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Batchkode" @@ -854,7 +854,7 @@ msgstr "Utstedt av" msgid "User who issued this build order" msgstr "Brukeren som utstedte denne produksjonsordren" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Bruker eller gruppe ansvarlig for produksjonsordren" msgid "External Link" msgstr "Ekstern lenke" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Lenke til ekstern URL" @@ -881,7 +881,7 @@ msgstr "Produksjonsprioritet" msgid "Priority of this build order" msgstr "Produksjonsordrens prioritet" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Prosjektkode" @@ -903,51 +903,50 @@ msgstr "Produksjonsordre {build} er fullført" msgid "A build order has been completed" msgstr "En produksjonsordre er fullført" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "Serienumre må angis for sporbare deler" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Ingen produksjonsartikkel spesifisert" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Produksjonsartikkelen er allerede fullført" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "Kvantitet kan ikke være større enn utgangsantallet" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Produksjonsartikkel {serial} har ikke bestått alle påkrevde tester" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "Produksjonsartikkel" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Produksjonsobjekt" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Produksjonsobjekt" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Antall" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Påkrevd antall for produksjonsordre" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Mengden må være 1 for serialisert lagervare" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "Valgt lagervare samsvarer ikke med BOM-linjen" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Lagervare" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Kildelagervare" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Lagerantall å tildele til produksjonen" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Monteres i" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Lagervare for montering" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Heltallsverdi kreves, da stykklisten inneholder sporbare deler" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Serienummer" @@ -1070,10 +1071,10 @@ msgstr "Angi serienummer for produksjonsartikler" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Plassering" @@ -1089,8 +1090,8 @@ 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:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" @@ -1222,7 +1223,7 @@ msgstr "Produksjonsartikkel" 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:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "Artikkelen må være på lager" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "Leverandørdel" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "Tildelt antall" @@ -1317,7 +1318,7 @@ msgstr "Produksjonsreferanse" msgid "Part Category Name" msgstr "Delkategorinavn" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Sporbar" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "Tillat Varianter" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "BOM-artikkel" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "Tildelt lagerbeholdning" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "I bestilling" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "I produksjon" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "Ekstern lagerbeholdning" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Tilgjengelig lagerbeholdning" @@ -1391,32 +1392,32 @@ msgstr "Kansellert" msgid "Complete" msgstr "Fullført" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "Lagerbeholdning kreves for produksjonsordre" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "Forfalt produksjonsordre" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Produksjonsordre {bo} er nå forfalt" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "Er lenke" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "Er fil" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "Brukeren har ikke tillatelse til å slette dette vedlegget" @@ -1436,61 +1437,61 @@ msgstr "Ingen gyldige valutakoder angitt" msgid "No plugin" msgstr "Ingen programtillegg" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Oppdatert" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Tidsstempel for forrige oppdatering" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Unik prosjektkode" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Prosjektbeskrivelse" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "Bruker eller gruppe ansvarlig for dette prosjektet" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Innstillings verdi" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "Valgt verdi er ikke et gyldig alternativ" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "Verdien må være en boolsk verdi" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "Verdien må være et heltall" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "Nøkkelstreng må være unik" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "Nøkkelstreng må være unik" msgid "User" msgstr "Bruker" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Pris" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "Enhetspris på spesifisert antall" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Endepunkt" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "Endepunktet hvor denne webhooken er mottatt" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "Navn for webhooken" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktiv" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "Er webhooken aktiv" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "Sjetong" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "Nøkkel for tilgang" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Hemmelig" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "Delt hemmlighet for HMAC" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "Melding ID" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "Unik Id for denne meldingen" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "Vert" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "Verten denne meldingen ble mottatt fra" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Tittel" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "Overskrift for denne meldingen" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Brødtekst" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "Innholdet i meldingen" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "Endepunktet meldingen ble mottatt fra" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "Arbeidet med" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "Var arbeidet med denne meldingen ferdig?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Tittel" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Lenke" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Publisert" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Forfatter" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Sammendrag" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Les" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "Er dette nyhetselementet lest?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Bilde" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Bildefil" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "Enhetssymbolet må være unikt" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "Enhetsnavn må være en gyldig identifikator" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "Enhetsnavn" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Symbol" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "Valgfritt enhetssymbol" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Definisjon" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Enhetsdefinisjon" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Vedlegg" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Fil mangler" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Mangler eksternlenke" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Velg fil å legge ved" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Kommentar" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "Vedleggskommentar" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "Opplastet dato" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "Datoen som filen ble lastet opp" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "Filstørrelse" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "Filstørrelse i byte" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "Ugyldig modelltype spesifisert for vedlegg" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Verdi" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Opprettet" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Sist oppdatert" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Kontekst" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Resultat" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Nøkkel" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "Kjører" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "Ventende oppgaver" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Planlagte oppgaver" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Mislykkede oppgaver" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "Oppgave-ID" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "Unik oppgave-ID" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "Lås" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Låsetidspunkt" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Oppgavenavn" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Funksjon" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Funksjonsnavn" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Argumenter" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Oppgaveargumenter" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "Nøkkelordargumenter" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "Nøkkelordargumenter for oppgave" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Filnavn" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "Modelltype" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "Brukeren har ikke tillatelse tillatelse å opprette eller endre vedlegg for denne modellen" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "Ingen gruppe" msgid "Site URL is locked by configuration" msgstr "Nettstedets URL er låst av konfigurasjon" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Omstart kreves" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "En innstilling har blitt endret som krever en omstart av serveren" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Ventende migrasjoner" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "Antall ventende databasemigreringer" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Navn på serverinstans" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "Strengbeskrivelse for serverinstansen" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Bruk instansnavn" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "Bruk instansnavnet på tittellinjen" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "Begrens visning av 'om'" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "Vis `about`-modal kun til superbrukere" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Firmanavn" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Internt firmanavn" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "Base-URL" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "Base-URL for serverinstans" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Standardvaluta" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "Velg grunnvalutaen for prisberegninger" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "Støttede valutaer" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "Liste over støttede valutakoder" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "Oppdateringsintervall for valuta" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Hvor ofte valutakurser skal oppdateres (sett til null for å deaktiverere)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "dager" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "Valutaoppdaterings-plugin" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "Valgt valutaoppdaterings-plugin" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Last ned fra URL" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Tillat nedlastning av eksterne bilder og filer fra ekstern URL" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "Nedlastingsgrense" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "Maksimal tillatt nedlastingsstørrelse for eksternt bilde" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "User-Agent brukt for å laste ned fra URL" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Tillat overstyring av User-Agent brukt for å laste ned bilder og filer fra eksterne URLer (lå stå blank for standard)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "Streng URL-validering" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "Krev skjemaspesifikasjon ved validering av URLer" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Intervall for oppdateringssjekk" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "Tidsintervall for å se etter oppdateringer(sett til null for å skru av)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Automatisk sikkerhetskopiering" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Aktiver automatisk sikkerhetskopiering av database og mediafiler" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Automatisk sikkerhetskopieringsintervall" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Angi antall dager mellom automatiske sikkerhetskopieringshendelser" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "Slettingsintervall for oppgaver" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "Bakgrunnsoppgaveresultater vil bli slettet etter antall angitte dager" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "Slettingsintervall for feillogg" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "Feilloggene vil bli slettet etter et angitt antall dager" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "Slettingsintervall for varsler" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Brukervarsler slettes etter angitt antall dager" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Strekkodestøtte" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "Aktiver støtte for strekkodeleser i webgrensesnittet" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "Innlesingsforsinkelse for strekkode" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "Tidsforsinkelse for behandling av strekkode" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "Støtte for strekkodewebkamera" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "Tillat strekkodelesning via webkamera i nettleseren" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "Vis Strekkodedata" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "Vis strekkodedata som tekst" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "Delrevisjoner" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "Aktiver revisjonsfeltet for Del" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "IPN regex" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "Regulært uttrykksmønster for matching av internt delnummer" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Tilat duplikat av internt delnummer" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "Tillat flere deler å dele samme interne delnummer" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "Tillat redigering av internt delnummer" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "Tillat endring av IPN-verdien mens du redigerer en del" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Kopier BOM-data fra del" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "Kopier BOM-data som standard når du dupliserer en del" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "Kopier parameterdata fra del" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "Kopier parameterdata som standard ved duplisering av en del" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "Kopier testdata fra del" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "Kopier testdata som standard ved duplisering av en del" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "Kopier designmaler for kategoriparametere" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "Kopier parametermaler for kategori ved oppretting av en del" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Mal" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "Deler er maler som standard" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Komponent" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "Deler kan bli brukt som underkomponenter som standard" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Kjøpbar" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "Deler er kjøpbare som standard" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Salgbar" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "Deler er salgbare som standard" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "Deler er sporbare som standard" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Virtuelle" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Deler er virtuelle som standard" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Vis relaterte deler" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Vis relaterte deler i en del" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "Innledende lagerbeholdningsdata" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "Tillat oppretting av innledende lagerbeholdning når en ny del opprettes" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "Innledende leverandørdata" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Tillat oppretting av innledende leverandørdata når en ny del opprettes" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Visningsformat for delnavn" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Format for å vise delnavnet" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "Standardikon for delkategorier" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "Standardikon for delkategorier (tomt betyr ingen ikon)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "Tving parameterenheter" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "Hvis det er angitt en enhet, skal parameterverdiene samsvare med de angitte enhetene" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "Minimum antall desimalplasser for priser" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimum antall desimalplasser som skal vises når man gjengir prisdata" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "Maksimalt antall desimalplasser for priser" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maksimalt antall desimalplasser som skal vises når man gjengir prisdata" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Bruk leverandørpriser" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Inkluder leverandørprisbrudd i beregninger av totalpriser" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Innkjøpshistorikkoverstyring" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Historiske innkjøpspriser overstyrer leverandørprisnivåer" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "Bruk lagervarepriser" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Bruk priser fra manuelt innlagte lagervarer for prisberegninger" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "Lagervare prisalder" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Unnta lagervarer som er eldre enn dette antall dager fra prisberegninger" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "Bruk Variantpriser" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "Inkluder variantpriser i beregninger av totale priser" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "Kun aktive varianter" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "Bruk kun aktive variantdeler til beregning av variantprising" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "Intervall for rekalkulering av priser" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "Antall dager før delpriser blir automatisk oppdatert" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Interne Priser" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "Aktiver interne priser for deler" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Intern prisoverstyring" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "Hvis tilgjengelig, overstyrer interne priser kalkulering av prisområde" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Aktiver etikettutskrift" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Aktiver utskrift av etiketter fra nettleseren" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "Etikettbilde-DPI" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI-oppløsning når når det genereres bildefiler for sending til utvidelser for etikettutskrift" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Aktiver Rapporter" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Aktiver generering av rapporter" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Feilsøkingsmodus" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "Generer rapporter i feilsøkingsmodus (HTML-output)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Sidestørrelse" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Standard sidestørrelse for PDF-rapporter" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "Globalt Unike Serienummer" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "Serienummer for lagervarer må være globalt unike" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "Slett oppbrukt lagerbeholdning" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "Batchkodemal" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "Mal for generering av standard batchkoder for lagervarer" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "Lagerbeholdning utløper" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "Aktiver funksjonalitet for utløp av lagerbeholdning" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "Selg utløpt lagerbeholdning" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "Tillat salg av utgått lagerbeholdning" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "Foreldet lagerbeholdning tidsintervall" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "Antall dager før lagervarer er ansett som foreldet før utløp" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "Produsér Utløpt Lagerbeholdning" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "Tillat produksjon med utløpt lagerbeholdning" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "Kontroll over eierskap av lagerbeholdning" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "Aktiver eierskap over lagerplasseringer og -varer" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "Lagerplassering standard ikon" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "Lagerplassering standard ikon (tomt betyr ingen ikon)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "Vis installerte lagervarer" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "Vis installerte lagervarer i lagertabeller" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "Produksjonsordre-referansemønster" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Nødvendig mønster for å generere Produksjonsordre-referansefeltet" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "Aktiver returordrer" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "Aktiver returordrefunksjonalitet i brukergrensesnittet" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "Returordre-referansemønster" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "Rediger fullførte returordrer" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "Tillat redigering av returordrer etter de er fullført" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "Salgsordre-referansemønster" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "Påkrevd mønster for å generere salgsordrereferansefelt" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "Salgsordre standard fraktmetode" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "Aktiver opprettelse av standard forsendelse med salgsordrer" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "Rediger fullførte salgsordrer" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Tillat redigering av salgsordrer etter de har blitt sendt eller fullført" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "Referansemønster for innkjøpsordre" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "Obligatorisk mønster for generering av referansefelt for innkjøpsordre" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "Rediger fullførte innkjøpsordre" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Tillat redigering av innkjøpsordre etter at de har blitt sendt eller fullført" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "Autofullfør innkjøpsordrer" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automatisk merk innkjøpsordre som fullført når alle ordrelinjer er mottatt" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Aktiver passord glemt" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Ativer funskjon for glemt passord på innloggingssidene" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Aktiver registrering" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Aktiver egenregistrerting for brukerer på påloggingssidene" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "Aktiver SSO" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "Aktiver SSO på innloggingssidene" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "Aktiver SSO-registrering" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Aktiver selvregistrering via SSO for brukere på innloggingssiden" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "E-postadresse kreves" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "Krevt at brukere angir e-post ved registrering" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "Auto-utfyll SSO-brukere" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "Fyll automatisk ut brukeropplysninger fra SSO-kontodata" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "E-post to ganger" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "Spør brukeren om e-post to ganger ved registrering" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Passord to ganger" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "Spør brukeren om passord to ganger ved registrering" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Tillatte domener" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Begrens registrering til bestemte domener (kommaseparert, begynner med @)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Gruppe ved registrering" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "Krev MFA" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "Brukere må bruke flerfaktorsikkerhet." -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "Sjekk utvidelser ved oppstart" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Sjekk at alle utvidelser er installert ved oppstart - aktiver i containermiljøer" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "Aktiver URL-integrasjon" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "Tillat utvidelser å legge til URL-ruter" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "Aktiver navigasjonsintegrasjon" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "Tillat utvidelser å integrere mot navigasjon" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "Aktiver app-integrasjon" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "Tillat utvidelser å legge til apper" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "Aktiver tidsplanintegrasjon" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "Tillat utvidelser å kjøre planlagte oppgaver" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "Aktiver hendelsesintegrasjon" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "Tillat utvidelser å reagere på interne hendelser" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "Varetellingsfunksjonalitet" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Aktiver varetellingsfunksjonalitet for å registrere lagernivåer og regne ut lagerverdi" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "Ekskluder eksterne plasseringer" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Eksluder lagervarer i eksterne plasseringer fra varetellinger" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "Automatisk varetellingsperiode" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Antall dager mellom automatisk varetellingsregistrering (sett til null for å deaktivere)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "Rapportslettingsintervall" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Varetellingsrapporter vil slettes etter angitt antall dager" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "Vis brukernes fulle navn" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "Vis brukernes fulle navn istedet for brukernavn" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "Foretrukket format for å vise datoer" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Delplanlegging" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "Vis delplanleggingsinformasjon" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "Lagertelling for Del" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Vis lagertellingsinformasjon for del (om lagertellingsfunksjonalitet er aktivert)" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "Motta feilrapporter" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "Motta varsler om systemfeil" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "Intern del er aktiv" msgid "Supplier is Active" msgstr "Leverandør er aktiv" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Produsent" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Firma" @@ -3513,331 +3638,331 @@ msgstr "Firma" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Firmaer" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Beskrivelse av firma" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "Beskrivelse av firmaet" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Nettside" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "Bedriftens nettside URL" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Telefonnummer" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Kontakt-telefonnummer" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Kontakt e-post" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Kontakt" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "Kontaktpunkt" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "Link til ekstern bedriftsinformasjon" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "Er firmaet aktivt?" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "Er kunde" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "Selger du varer til dette firmaet?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "Er leverandør" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "Kjøper du varer fra dette firmaet?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "Er produsent" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "Produserer dette firmaet deler?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "Standardvaluta brukt for dette firmaet" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Adresse" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Adresser" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Velg selskap" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "Adressetittel" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "Tittel som beskriver addressen" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Hovedadresse" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Sett som hovedadresse" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "Linje 1" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "Adresselinje 1" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "Linje 2" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "Adresselinje 2" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Postnummer" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Poststed/område" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "Postnummerets by/område" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "Delstat/provins" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "Delstat eller provins" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "Land" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "Adressens land" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "Notater til transportør" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "Notater for transportør" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "Interne fraktnotater" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "Fraktnotater for internt bruk" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "Lenke til adresseinformasjon (ekstern)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Produsentdeler" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Basisdel" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Velg del" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Velg produsent" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "MPN" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Produsentens varenummer" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "URL for ekstern produsentdel-lenke" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "Produsentens delbeskrivelse" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "Produsentdel parameter" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Parameternavn" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Parameterverdi" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Enheter" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Parameterenheter" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "Pakkeenhetene må være komptible med delens basisenhet" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "Pakkeenhet må være mer enn null" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Leverandør" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Velg leverandør" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "Er denne leverandørdelen aktiv?" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Velg produsentdel" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "URL for ekstern leverandørdel-lenke" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "Leverandørens delbeskrivelse" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Notat" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "grunnkostnad" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Emballasje" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "Delemballasje" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "Pakkeantall" -#: company/models.py:858 +#: company/models.py:891 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:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "flere" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "Bestill flere" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "Antall tilgjengelig fra leverandør" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "Tilgjengelighet oppdatert" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "Dato for siste oppdatering av tilgjengelighetsdata" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "Leverandørens prisbrudd" @@ -3853,7 +3978,7 @@ msgstr "Standardvaluta brukt for denne leverandøren" msgid "Company Name" msgstr "Bedriftsnavn" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "På lager" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Nøkkel" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "Gyldig" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "Ordrereferanse" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Status" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "Mengde må være positiv" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "Mottatt" msgid "Number of items received" msgstr "Antall enheter mottatt" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "Innkjøpspris" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "SKU-kode" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "Internt delnummer" @@ -5046,130 +5167,114 @@ msgstr "Refusjon" msgid "Reject" msgstr "Avvis" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "Forfalt Innkjøpsordre" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Innkjøpsordre {po} er nå forfalt" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "Forfalt Salgsordre" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Salgsordre {so} er nå forfalt" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "Innkommende innkjøpsordre" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "Utgående salgsordre" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "Lagervarer produsert av en produksjonsordre" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "Lagervarer påkrevd for produksjonsordre" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "Godkjenn hele Stykklisten" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "Dette alternativet må være valgt" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "Ikon (valgfritt)" 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:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Deler" @@ -5335,7 +5440,7 @@ msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" msgid "Part category" msgstr "Delkategori" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "Delrevisjon eller versjonsnummer" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Revisjon" @@ -5376,7 +5481,7 @@ msgstr "Standard utløp" msgid "Expiry time (in days) for stock items of this part" msgstr "Utløpstid (i dager) for lagervarer av denne delen" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Minimal lagerbeholdning" @@ -5612,7 +5717,7 @@ msgstr "Antall individuelle lagerenheter på tidspunkt for varetelling" msgid "Total available stock at time of stocktake" msgstr "Total tilgjengelig lagerbeholdning på tidspunkt for varetelling" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Dato" @@ -5713,7 +5818,7 @@ msgstr "Testbeskrivelse" msgid "Enter description for this test" msgstr "Legg inn beskrivelse for denne testen" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Aktivert" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "Kopier parametere" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "Kopier notater" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "Kopier notater fra originaldel" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Angi initiell lagermengde for denne delen. Hvis antall er null, er ingen lagerbeholdning lagt til." -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "Velg leverandør (eller la stå tom for å hoppe over)" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "Velg produsent (eller la stå tom for å hoppe over)" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Kategorinavn" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "Produseres" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Lagervarer" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Leverandører" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Total lagerbeholdning" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "Eksisterende bilde" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "Filnavn for et eksisterende del-bilde" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "Bildefilen finnes ikke" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "Kan Produsere" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Begrens lagerbeholdningsrapport til en bestemt del og enhver variant av delen" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Begrens lagerbeholdningsrapport til en bestemt delkategori og alle underkategorier" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Begrens lagerbeholdningsrapport til en bestemt plasering og eventuelle underplasseringer" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "Ekskluder ekstern lagerbeholdning" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "Ekskluder lagervarer i eksterne lokasjoner" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Generer rapport" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "Genererer rapport som inneholder beregnede lagerdata" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "Oppdater deler" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "Oppdater spesifiserte deler med beregnede lagerbeholdningsdata" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "Lagerbeholdningsfunksjonalitet er ikke aktivert" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Sjekk av bakgrunnsarbeider mislyktes" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Minstepris" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "Overstyr beregnet verdi for minimumspris" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "Valuta for minstepris" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Makspris" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "Overstyr beregnet verdi for maksimal pris" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "Valuta for maksimal pris" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Kan ikke konvertere fra gitte valutaer til {default_currency}" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "Minsteprisen kan ikke være større enn maksimal pris" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "Maksimal pris kan ikke være mindre enn minstepris" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "Inkluder arvede" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM-artikler som er arvet fra maldeler" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres" @@ -6651,8 +6748,8 @@ msgstr "Gir innebygd støtte for strekkoder" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "InvenTree-bidragsytere" @@ -6979,7 +7076,7 @@ msgstr "Kantlinjer" msgid "Print a border around each label" msgstr "Skriv ut en kant rundt hver etikett" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "Liggende" @@ -7011,51 +7108,51 @@ msgstr "Etiketten er for stor for sidestørrelse" msgid "No labels were generated" msgstr "Ingen etiketter ble generert" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "Leverandørintegrasjon - DigiKey" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "Gir støtte for å skanne DigiKey-strekkoder" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "Leverandøren som fungerer som 'DigiKey'" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "Leverandørintegrasjon - LCSC" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "Gir støtte for å skanne LCSC-strekkoder" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "Leverandøren som fungerer som \"LCSC\"" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "Leverandørintegrasjon - Mouser" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "Gir støtte for å skanne Mouser-strekkoder" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "Leverandøren som fungerer som 'Mouser'" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "Leverandørintegrasjon - TME" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "Gir støtte for å skanne TME-strekkoder" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "Leverandøren som fungerer som \"TME\"" @@ -7160,21 +7257,21 @@ msgstr "Utvidelse" msgid "Method" msgstr "Metode" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "Ingen forfatter funnet" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Utvidensen '{p}' er ikke kompatibel med nåværende InvenTree-versjon {v}" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Utvidelsen krever minst versjon {v}" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Utvidelsen krever maks versjon {v}" @@ -7203,11 +7300,11 @@ msgstr "Numerisk" msgid "A numerical setting" msgstr "En numerisk innstilling" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "Valginnstilling" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "En innstilling med flere valg" @@ -7355,43 +7452,43 @@ msgstr "Hent inn utvidelser" msgid "Collect plugins and add them to the registry" msgstr "Hent inn utvidelser og legg dem til i registeret" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "Aktivér utvidelse" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "Aktivér denne utvidelsen" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "Malnavn" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "Filnavnmønster" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Filtre" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "Sidestørrelse for PDF-rapporter" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "Generer rapport i landskapsorientering" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Bredde [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "Etikettbredde, spesifisert i mm" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Høyde [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "Etiketthøyde, spesifisert i mm" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "Snutt" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "Rapportsnuttfil" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "Filbeskrivelse for snutt" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "Ressurs" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "Rapportressursfil" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "Ressursfilbeskrivelse" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "Nødvendige materialer" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "Parti" msgid "Stock location items" msgstr "Artikler ved lagerplassering" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Testrapport for lagervare" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "Installerte artikler" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Serienummer" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Testresultater" @@ -7647,15 +7767,6 @@ msgstr "Ingen resultat (obligatorisk)" msgid "No result" msgstr "Ingen resultat" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "Installerte artikler" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Serienummer" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "Asset-filen eksisterer ikke" @@ -7672,123 +7783,123 @@ msgstr "part_image-taggen krever en Part-instans" msgid "company_image tag requires a Company instance" msgstr "company_image-taggen krever en Company-instans" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "Statuskode" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "Ekstern plassering" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "Del-tre" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "Utløpsdato før" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "Utløpsdato etter" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "Foreldet" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "Antall kreves" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "Gyldig del må oppgis" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "Oppgitt leverandørdel eksisterer ikke" -#: stock/api.py:1029 +#: stock/api.py:1048 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:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "Serienumre kan ikke angis for en ikke-sporbar del" @@ -7897,7 +8008,7 @@ msgstr "Velg en tilsvarende leverandørdel for denne lagervaren" msgid "Where is this stock item located?" msgstr "Hvor er denne lagervaren plassert?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "Inpakningen denne lagervaren er lagret i" @@ -7913,7 +8024,7 @@ msgstr "Er denne artikkelen montert i en annen artikkel?" msgid "Serial number for this item" msgstr "Serienummer for denne artikkelen" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "Batchkode for denne lagervaren" @@ -7969,136 +8080,136 @@ msgstr "Innkjøpspris per enhet på kjøpstidspunktet" msgid "Converted to part" msgstr "Konvertert til del" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "Delen er ikke angitt som sporbar" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "Antall må være heltall" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({self.quantity})" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "Antallet stemmer ikke overens med serienumrene" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "Lagervare har blitt tildelt en salgsordre" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "Lagervare er montert i en annen artikkel" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "Lagervare inneholder andre artikler" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "Lagervare har blitt tildelt til en kunde" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "Lagervare er for tiden i produksjon" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "Serialisert lagerbeholdning kan ikke slås sammen" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "Duplisert lagervare" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "Lagervarer må referere til samme del" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "Lagervarer må referere til samme leverandørdel" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "Lagerstatuskoder må være like" -#: stock/models.py:2196 +#: stock/models.py:2209 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:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "Oppføringsnotater" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "Verdi må angis for denne testen" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "Vedlegg må lastes opp for denne testen" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Testresultat" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "Testens verdi" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "Vedlegg til testresultat" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "Testnotater" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Bruk pakningsstørrelse når du legger til: antall definert er antall pakker" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "Leverandørens delnummer" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "Utløpt" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "Underordnede artikler" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "Innkjøpspris for denne lagervaren, per enhet eller forpakning" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "Angi antall lagervarer som skal serialiseres" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({q})" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "Angi serienummer for nye artikler" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "Til Lagerplassering" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "Valgfritt notatfelt" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "Serienummer kan ikke tilordnes denne delen" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "Velg lagervare å montere" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "Antall å installere" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "Angi antallet elementer som skal installeres" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "Legg til transaksjonsnotat (valgfritt)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "Antall å installere må være minst 1" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "Lagervaren er utilgjengelig" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "Valgt del er ikke i stykklisten" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "Antall å installere må ikke overskride tilgjengelig antall" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "Lagerplassering for den avinstallerte artikkelen" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "Velg del å konvertere lagervare til" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "Valgt del er ikke et gyldig alternativ for konvertering" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Kan ikke konvertere lagerprodukt med tildelt leverandørdel" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "Lagervare statuskode" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "Lagerplassering for returnert artikkel" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "Velg lagervarer for å endre status" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "Ingen lagervarer valgt" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Underplasseringer" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "Delen må være salgbar" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "Artikkelen er tildelt en salgsordre" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "Artikkelen er tildelt en produksjonsordre" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "Kunde å tilordne lagervarer" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "Valgt firma er ikke en kunde" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "Lagervare-tildelignsnotater" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "En liste av lagervarer må oppgis" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "Notater om lagersammenslåing" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "Tillat forskjellige leverandører" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "Tillat lagervarer med forskjellige leverandørdeler å slås sammen" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "Tillat forskjellig status" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "Tillat lagervarer med forskjellige statuskoder å slås sammen" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "Minst to lagervarer må oppgis" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "Lagervare primærnøkkel verdi" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "Lager transaksjonsnotater" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index 72cfd628d4..519b4e2b03 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "Musisz włączyć uwierzytelnianie dwuskładnikowe przed wykonaniem czegokolwiek innego." -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "Nie znaleziono punktu końcowego API" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "Dla operacji masowych należy podać wykaz przedmiotów lub filtrów" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "Elementy muszą być podane jako lista" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "Podano nieprawidłową listę artykułów" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "Filtry muszą być dostarczone jako kartka" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "Podano niepoprawne filtry" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "Żaden element nie spełnia podanych kryteriów" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Użytkownik nie ma uprawnień do przeglądania tego modelu" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "Niepoprawna wartość dziesiętna" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Uwagi" @@ -356,7 +356,7 @@ msgstr "chiński (tradycyjny)" msgid "Log in to the app" msgstr "Logowanie do aplikacji" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "Adres E-Mail" @@ -408,19 +408,19 @@ msgstr "Duplikaty nazw nie mogą istnieć pod tym samym rodzicem" msgid "Invalid choice" msgstr "Błędny wybór" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Nazwa" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Opis" msgid "Description (optional)" msgstr "Opis (opcjonalny)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Ścieżka" @@ -479,11 +479,11 @@ msgstr "Błąd został zapisany w logach serwera." msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Waluta" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Wybierz walutę z dostępnych opcji" @@ -527,29 +527,29 @@ msgstr "Przedawnienie nie może przekroczyć 100 %" msgid "Invalid value for overage" msgstr "Nieprawidłowa wartość przedawnienia" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Status zamówienia" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Budowa nadrzędna" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "Obejmuje warianty" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "Obejmuje warianty" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "Obejmuje warianty" msgid "Part" msgstr "Komponent" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Kategoria" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "Budowa poprzednika" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "Przypisane do mnie" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Dodane przez" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "Stworzony przed" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "Stworzony po" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "Ma datę rozpoczęcia" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "Data rozpoczęcia przed" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "Data rozpoczęcia po" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "Posiada docelową datę" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "Data docelowa przed" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "Docelowa data po" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "Zakończone przed" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "Zakończone po" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "Minimalna data" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "Maksymalna data" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "Wyklucz drzewo" -#: build/api.py:409 +#: build/api.py:411 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:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Materiał eksploatacyjny" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Opcjonalne" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Złożenie" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Śledzony" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Testowalne" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "Zaległe zamówienie" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Przydzielono" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Dostępne" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Kod statusu budowania" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Kod partii" @@ -854,7 +854,7 @@ msgstr "Wydany przez" msgid "User who issued this build order" msgstr "Użytkownik, który wydał to zamówienie" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Użytkownik lub grupa odpowiedzialna za te zlecenie produkcji" msgid "External Link" msgstr "Link Zewnętrzny" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link do zewnętrznego adresu URL" @@ -881,7 +881,7 @@ msgstr "Priorytet budowy" msgid "Priority of this build order" msgstr "Priorytet tego zamówienia produkcji" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Kod projektu" @@ -903,51 +903,50 @@ msgstr "Kolejność kompilacji {build} została zakończona" msgid "A build order has been completed" msgstr "Kolejność kompilacji została zakończona" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "Należy podać numery seryjne dla lokalizowania części" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Nie określono danych wyjściowych budowy" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Budowanie wyjścia jest już ukończone" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "Ilość nie może być większa niż ilość wyjściowa" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Wyjście budowy {serial} nie przeszło wszystkich testów" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Zbuduj obiekt" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Zbuduj obiekt" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Ilość" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Wymagana ilość dla zlecenia produkcji" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Przydzielona ilość ({q}) nie może przekraczać dostępnej ilości zapasów magazynowych ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Pozycja magazynowa jest nadmiernie przydzielona" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Ilość musi wynosić 1 dla serializowanych zasobów" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "Wybrana pozycja magazynowa nie pasuje do pozycji w zestawieniu BOM" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Element magazynowy" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Lokalizacja magazynowania przedmiotu" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Ilość zapasów do przydzielenia do produkcji" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Zainstaluj do" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Docelowa lokalizacja magazynowa przedmiotu" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Numer seryjny" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Lokalizacja" @@ -1089,8 +1090,8 @@ 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:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "Poniższe numery seryjne już istnieją lub są nieprawidłowe" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Możliwość śledzenia" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "Zezwalaj na warianty" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "Element BOM" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "W Zamówieniu" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "W produkcji" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Dostępna ilość" @@ -1391,32 +1392,32 @@ msgstr "Anulowano" msgid "Complete" msgstr "Zakończono" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "Brak wtyczki" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Zaktualizowany" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Data ostatniej aktualizacji" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Unikalny kod projektu" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Opis projektu" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "Użytkownik lub grupa odpowiedzialna za to zamówienie" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Ustawienia wartości" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "Wybrana wartość nie jest poprawną opcją" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "Wartość musi być wartością binarną" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "Wartość musi być liczbą całkowitą" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "Ciąg musi być unikatowy" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "Ciąg musi być unikatowy" msgid "User" msgstr "Użytkownik" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Cena" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Punkt końcowy" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktywny" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Sekret" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "Współdzielony sekret dla HMAC" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "Id wiadomości" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "Unikalny identyfikator dla tej wiadomości" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "Host, od którego otrzymano tę wiadomość" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Nagłówek" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "Nagłówek tej wiadomości" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Zawartość" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Łącze" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Autor" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Obraz" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Załącznik" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Brak pliku" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Brak zewnętrznego odnośnika" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Wybierz plik do załączenia" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Komentarz" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Wartość" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Utworzony" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Ostatnia aktualizacja" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Dane" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Wynik" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Klucz" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "Jest uruchomiony" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "Oczekujce zadania" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Zaplanowane zadania" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Zadania zakończone błędem" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "ID zadania" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "Unikalny identyfikator zadania" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "Blokada" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Czas blokady" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Nazwa zadania" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Funkcja" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Nazwa funkcji" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Argumenty" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Argumenty zadania" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Nazwa pliku" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "Brak grupy" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Wymagane ponowne uruchomienie" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "Zmieniono ustawienie, które wymaga restartu serwera" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Oczekujące migracje" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "Liczba oczekujących migracji bazy danych" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Nazwa instancji serwera" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Użyj nazwy instancji" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Nazwa firmy" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Wewnętrzna nazwa firmy" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "Bazowy URL" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "Bazowy adres URL dla instancji serwera" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Domyślna waluta" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "Interwał aktualizacji waluty" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Jak często aktualizować kursy wymiany walut (ustaw zero aby wyłączyć)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "dni" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "Wtyczka aktualizacji waluty" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Pobierz z adresu URL" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Zezwól na pobieranie zewnętrznych obrazów i plików z zewnętrznego URL" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "Limit rozmiaru pobierania" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "Ścisła weryfikacja adresu URL" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "Wymagaj specyfikacji schematu podczas sprawdzania poprawności adresów URL" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Częstotliwość sprawdzania aktualizacji" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "Jak często aktualizować kursy wymiany walut (ustaw zero aby wyłączyć)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Automatyczna kopia zapasowa" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Włącz automatyczną kopię zapasową bazy danych i plików multimedialnych" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Interwał automatycznego tworzenia kopii zapasowych" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Określ liczbę dni między zdarzeniami automatycznej kopii zapasowej" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "Interwał usuwania zadań" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Obsługa kodu kreskowego" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "Wyrażenie regularne IPN" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Zezwól na powtarzający się IPN" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "Zezwól na edycję IPN" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Skopiuj BOM komponentu" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Szablon" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Komponent" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Możliwość zakupu" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "Części są domyślnie z możliwością zakupu" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Możliwość sprzedaży" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "Części są domyślnie z możliwością sprzedaży" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "Części są domyślnie z możliwością śledzenia" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Wirtualny" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Części są domyślnie wirtualne" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Pokaż powiązane części" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Użyj cennika dostawcy" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Nadpisanie historii zakupów" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Ceny wewnętrzne" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Włącz drukowanie etykiet" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Włącz drukowanie etykiet z interfejsu WWW" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "DPI etykiety" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Włącz raporty" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Tryb Debugowania" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Rozmiar strony" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "Automatycznie wypełniaj zlecenia zakupu" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automatycznie oznacz zlecenia jako zakończone po odebraniu wszystkich pozycji" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Włącz opcję zapomnianego hasła" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Włącz funkcję zapomnianego hasła na stronach logowania" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Włącz rejestrację" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Włącz samodzielną rejestrację dla użytkowników na stronach logowania" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "Włącz SSO" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "Włącz SSO na stronach logowania" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "Adres e-mail jest wymagany" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "Autouzupełnianie użytkowników SSO" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatycznie wypełnij dane użytkownika z danych konta SSO" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "E-mail dwa razy" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich adres e-mail" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Hasło dwukrotnie" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "Przy rejestracji dwukrotnie zapytaj użytkowników o ich hasło" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Grupuj przy rejestracji" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "Wymuś MFA" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "Użytkownicy muszą używać zabezpieczeń wieloskładnikowych." -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "Sprawdź wtyczki przy starcie" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "Włącz integrację URL" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "Włącz wtyczki, aby dodać ścieżki URL" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "Włącz integrację z aplikacją" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "Włącz wtyczki, aby dodać aplikacje" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "Włącz wtyczki, aby uruchamiać zaplanowane zadania" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "Preferowany format wyświetlania dat" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Planowanie komponentów" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Producent" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Firma" @@ -3513,331 +3638,331 @@ msgstr "Firma" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Firmy" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Opis firmy" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "Opis firmy" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Strona WWW" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "Witryna internetowa firmy" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Numer telefonu" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Numer telefonu kontaktowego" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Kontaktowy adres e-mail" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Kontakt" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "Punkt kontaktowy" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "Link do informacji o zewnętrznym przedsiębiorstwie" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "Czy sprzedajesz produkty tej firmie?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "Czy kupujesz przedmioty od tej firmy?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "Czy to przedsiębiorstwo produkuje części?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Adres" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Miasto/Region" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "Kod pocztowy miasto/region" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "Stan/Województwo" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "Stan lub województwo" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "Kraj" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "Kraj" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "Notatki przewozowe kuriera" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "Notatki dla kuriera" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "Wewnętrzne notatki przewozowe" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "Notatki wysyłkowe do użytku wewnętrznego" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Komponent producenta" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Część bazowa" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Wybierz część" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Numer producenta komponentu" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Nazwa parametru" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Wartość parametru" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Jednostki" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Jednostki parametru" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Dostawca" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Uwaga" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "koszt podstawowy" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Opakowanie" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "Opakowanie części" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "Ilość w opakowaniu" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "wielokrotność" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "Zamów wiele" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "Dostępność zaktualizowana" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "Domyślna waluta używana dla tego dostawcy" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "Na stanie" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Klucz" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "Ważny" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "Odniesienie zamówienia" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Status" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "Wartość musi być liczbą dodatnią" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "Odebrane" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "Cena zakupu" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "Zwrot pieniędzy" msgid "Reject" msgstr "Odrzuć" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "Zaległe zlecenie zakupu" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Zlecenie zakupu {po} jest teraz zaległe" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "Nadchodzące zlecenie zakupu" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "Ta opcja musi być zaznaczona" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Części" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Wersja" @@ -5376,7 +5481,7 @@ msgstr "Domyślne wygasanie" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Data" @@ -5713,7 +5818,7 @@ msgstr "Testowy opis" msgid "Enter description for this test" msgstr "Wprowadź opis do tego testu" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Aktywne" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "Kopiuj parametry" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Towary" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Dostawcy" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Sprawdzenie robotnika w tle nie powiodło się" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "Wtyczka" msgid "Method" msgstr "Metoda" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "Nie znaleziono autora" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "Liczbowy" msgid "A numerical setting" msgstr "Ustawienie numeryczne" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "Ustawienie jednokrotnego wyboru" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "Ustawienie wielokrotnego wyboru" @@ -7355,43 +7452,43 @@ msgstr "Zbierz wtyczki" msgid "Collect plugins and add them to the registry" msgstr "Zbierz wtyczki i dodaj je do rejestru" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "Aktywuj wtyczkę" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "Aktywuj tę wtyczkę" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "Nazwa szablonu" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "Wzór nazwy pliku" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Filtry" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "Domyślna wielkość strony dla raportów PDF" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "Renderuj raport w orientacji poziomej" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Szerokość [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Wysokość [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "Wycinek" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "Razem" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "Partia" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "Zainstalowane elementy" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Numer seryjny" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "Zainstalowane elementy" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Numer seryjny" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "Wybierz pasującą część dostawcy dla tego towaru" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "Ilość musi być liczbą całkowitą" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "Notatki do wpisu" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "Należy podać wartość dla tego testu" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Wynik testu" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "Termin minął" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "Elementy podrzędne" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Podlokalizacje" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index d37748c3e6..80a619747b 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Language: pt_PT\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API endpoint não encontrado" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Usuário não tem permissão para ver este modelo" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Anotações" @@ -356,7 +356,7 @@ msgstr "Chinês (Tradicional)" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "Email" @@ -408,19 +408,19 @@ msgstr "Nomes duplicados não podem existir sob o mesmo parental" msgid "Invalid choice" msgstr "Escolha inválida" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Nome" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Descrição" msgid "Description (optional)" msgstr "Descrição (opcional)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Caminho" @@ -479,11 +479,11 @@ msgstr "Log de erro salvo pelo servidor." msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Moeda" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Selecione a Moeda nas opções disponíveis" @@ -527,29 +527,29 @@ msgstr "Excedente não deve exceder 100%" msgid "Invalid value for overage" msgstr "Valor de excedente inválido" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Situação do pedido" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Produção Progenitor" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "Peça" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Categoria" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Emitido por" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Consumível" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Opcional" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Montagem" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Monitorado" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Alocado" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Disponível" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Código de situação da produção" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Código de Lote" @@ -854,7 +854,7 @@ msgstr "Emitido por" msgid "User who issued this build order" msgstr "Usuário que emitiu este pedido de produção" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Usuário ou grupo responsável para este pedido de produção" msgid "External Link" msgstr "Link Externo" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link para URL externa" @@ -881,7 +881,7 @@ msgstr "Prioridade de Produção" msgid "Priority of this build order" msgstr "Prioridade deste pedido de produção" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Código do projeto" @@ -903,51 +903,50 @@ msgstr "O Pedido de produção {build} foi concluído!" msgid "A build order has been completed" msgstr "Um pedido de produção foi concluído" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "Números de série devem ser fornecidos para peças rastreáveis" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Nenhuma saída de produção especificada" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Saída de produção já completada" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Saída da produção não corresponde ao Pedido de Produção" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "Quantidade não pode ser maior do que a quantidade de saída" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "O item de produção {serial} não passou todos os testes necessários" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "Item da linha de Produção" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Objeto de produção" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Objeto de produção" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Quantidade" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Quantidade necessária para o pedido de produção" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em estoque ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Quantidade deve ser 1 para estoque serializado" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "Item estoque selecionado não coincide com linha da LDM" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Item de estoque" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Origem do item em estoque" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Quantidade do estoque para alocar à produção" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Instalar em" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Destino do Item do Estoque" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Números de Série" @@ -1070,10 +1071,10 @@ msgstr "Digite os números de série para saídas de produção" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Local" @@ -1089,8 +1090,8 @@ 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:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 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" @@ -1222,7 +1223,7 @@ msgstr "Item da linha de produção" 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:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "Item deve estar em estoque" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "Fornecedor da Peça" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "Quantidade Alocada" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Rastreável" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "Permitir variações" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "Item LDM" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "Estoque Alocado" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "No pedido" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "Em Produção" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Estoque Disponível" @@ -1391,32 +1392,32 @@ msgstr "Cancelado" msgid "Complete" msgstr "Completado" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "Estoque obrigatório para o pedido de produção" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "Pedido de produção vencido" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Pedido de produção {bo} está atrasada" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "É uma Ligação" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "É um arquivo" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "O Utilizador não tem permissão para remover este anexo" @@ -1436,61 +1437,61 @@ msgstr "Nenhum código de moeda válido foi fornecido" msgid "No plugin" msgstr "Sem extensão" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Atualizado" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Tempo da última atualização" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Código único do projeto" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Descrição do projeto" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "Usuário ou grupo responsável por este projeto" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Valor da Configuração" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "Valor escolhido não é uma opção válida" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "Valor deve ser um valor booleano" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "Valor deve ser um número inteiro" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "A frase senha deve ser diferenciada" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "A frase senha deve ser diferenciada" msgid "User" msgstr "Usuario" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Preço" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "Preço unitário na quantidade especificada" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Ponto final" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "Ponto final em qual o gancho web foi recebido" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "Nome para este webhook" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Ativo" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "Este gancho web está ativo" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "Token de acesso" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Segredo" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "Segredo compartilhado para HMAC" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "ID da Mensagem" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "Identificador exclusivo desta mensagem" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "Servidor" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "Servidor do qual esta mensagem foi recebida" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Cabeçalho" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "Cabeçalho da mensagem" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Corpo" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "Corpo da mensagem" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "Ponto do qual esta mensagem foi recebida" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "Trabalhado em" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "O trabalho desta mensagem foi concluído?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Título" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Ligação" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Publicado" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Autor" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Resumo" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Lida" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "Esta notícia do item foi lida?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Imagem" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Arquivo de imagem" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "Nome da unidade deve ser um identificador válido" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "Nome da unidade" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Símbolo" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "Símbolo de unidade opcional" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Definição" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Definição de unidade" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Anexo" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Arquivo ausente" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Link externo não encontrado" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Selecione arquivo para anexar" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Comentario" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Valor" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Criado" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Última atualização" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Dados" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Contexto" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Resultado" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Chave" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "Executando" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "Tarefas Pendentes" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Tarefas Agendadas" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Tarefas com Falhas" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "ID da Tarefa" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "ID Único da Tarefa" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "Bloquear" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Tempo de bloqueio" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Nome da tarefa" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Função" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Nome da função" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Argumentos" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Argumentos da tarefa" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "Argumentos de Palavra-chave" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "Argumentos Palavra-chave da Tarefa" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Nome do arquivo" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "Nenhum grupo" msgid "Site URL is locked by configuration" msgstr "URL do site está bloqueada por configuração" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Reinicialização necessária" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "Uma configuração que requer uma reinicialização do servidor foi alterada" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Migrações pendentes" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "Número de migrações pendentes na base de dados" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Nome da Instância do Servidor" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "Descritor de frases para a instância do servidor" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Usar nome da instância" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "Usar o nome da instância na barra de título" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "Restringir a exibição 'sobre'" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "Mostrar 'sobre' modal apenas para superusuários" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Nome da empresa" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Nome interno da Empresa" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "URL de Base" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "URL Base da instância do servidor" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Moeda Padrão" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "Selecione a moeda base para cálculos de preços" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "Moedas suportadas" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "Lista de códigos de moeda suportados" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "Intervalo de Atualização da Moeda" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Com que frequência atualizar as taxas de câmbio (defina como zero para desativar)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "dias" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "Extensão de Atualização de Moeda" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "Extensão de Atualização de Moeda a utilizar" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Baixar do URL" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Permitir baixar imagens remotas e arquivos de URLs externos" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "Limite de tamanho para baixar" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "Maior tamanho de imagem remota baixada permitida" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "Usuário-agente utilizado para baixar da URL" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Permitir a substituição de imagens e arquivos usados baixados por usuário-agente (deixar em branco por padrão)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "Validação rigorosa de URL" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "Exigir especificação de esquema ao validar URLs" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Atualizar Intervalo de Verificação" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "Frequência para verificar atualizações (defina como zero para desativar)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Cópia de Segurança Automática" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Ativar cópia de segurança automática do banco de dados e arquivos de mídia" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Intervalo de Backup Automático" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Especificar o número de dia entre as cópias de segurança" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "Intervalo para Excluir da Tarefa" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "Os resultados da tarefa no plano de fundo serão excluídos após um número especificado de dias" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "Intervalo para Excluir do Registro de Erro" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "Registros de erros serão excluídos após um número especificado de dias" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "Intervalo para Excluir de Notificação" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Notificações de usuários será excluído após um número especificado de dias" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Suporte aos códigos de barras" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "Ativar suporte a leitor de código de barras na interface web" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "Atraso na entrada de código de barras" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "Tempo de atraso de processamento de entrada de barras" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "Suporte a código de barras via Câmera" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "Permitir escanear código de barras por câmera pelo navegador" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "Revisões de peças" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "Habilitar campo de revisão para a Peça" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "Permitir a exclusão da Montagem" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "Permitir a remoção de peças usadas em uma montagem" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "Regex IPN" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "Padrão de expressão regular adequado para Peça IPN" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Permitir Duplicação IPN" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "Permitir que várias peças compartilhem o mesmo IPN" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "Permitir Edição IPN" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "Permitir trocar o valor do IPN enquanto se edita a peça" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Copiar dados da LDM da Peça" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "Copiar dados da LDM por padrão quando duplicar a peça" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "Copiar Dados de Parâmetro da Peça" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "Copiar dados de parâmetros por padrão quando duplicar uma peça" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "Copiar Dados Teste da Peça" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "Copiar dados de teste por padrão quando duplicar a peça" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "Copiar Parâmetros dos Modelos de Categoria" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "Copiar parâmetros do modelo de categoria quando criar uma peça" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Modelo" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "Peças são modelos por padrão" -#: common/setting/system.py:430 +#: common/setting/system.py:443 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:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Componente" -#: common/setting/system.py:436 +#: common/setting/system.py:449 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:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Comprável" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "Peças são compráveis por padrão" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Vendível" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "Peças vão vendíveis por padrão" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "Peças vão rastreáveis por padrão" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Virtual" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Peças são virtuais por padrão" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Mostra peças relacionadas" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Mostrar peças relacionadas para uma peça" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "Dados Iniciais de Estoque" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "Permitir Criação de estoque inicial quando adicional uma nova peça" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "Dados Iniciais de Fornecedor" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Permitir criação de dados iniciais de fornecedor quando adicionar uma nova peça" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Formato de Exibição do Nome da Peça" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Formato para exibir o nome da peça" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "Ícone de Categoria de Peça Padrão" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "Ícone padrão de categoria de peça (vazio significa sem ícone)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "Forçar Unidades de Parâmetro" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "Se as unidades são fornecidas, os valores do parâmetro devem corresponder às unidades especificadas" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "Mínimo de Casas Decimais do Preço" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Mínimo número de casas decimais a exibir quando renderizar dados de preços" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "Máximo Casas Decimais de Preço" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Número máximo de casas decimais a exibir quando renderizar dados de preços" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Usar Preços do Fornecedor" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Incluir quebras de preço do fornecedor nos cálculos de preços globais" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Sobrescrever histórico de compra" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Histórico do pedido de compra substitui os intervalos dos preços do fornecedor" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "Usar Preços do Item em Estoque" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Usar preço inserido manualmente no estoque para cálculos de valores" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "Idade do preço do Item em Estoque" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Não incluir itens em estoque mais velhos que este número de dias no cálculo de preços" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "Usar Preço Variável" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "Incluir preços variáveis nos cálculos de valores gerais" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "Apenas Ativar Variáveis" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "Apenas usar peças variáveis ativas para calcular preço variáveis" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "Intervalo de Reconstrução de Preços" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "Número de dias antes da atualização automática dos preços das peças" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Preços Internos" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "Habilitar preços internos para peças" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Sobrepor Valor Interno" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "Se disponível, preços internos sobrepõe variação de cálculos de preço" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Ativar impressão de etiquetas" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Ativar impressão de etiqueta pela interface da internet" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "DPI da Imagem na Etiqueta" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Resolução de DPI quando gerar arquivo de imagens para fornecer à extensão de impressão de etiquetas" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Habilitar Relatórios" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Ativar geração de relatórios" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Modo de depuração" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "Gerar relatórios em modo de depuração (saída HTML)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "Relatório de erros" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "Registro de erros que ocorrem ao gerar relatórios" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Tamanho da página" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Tamanho padrão da página PDF para relatórios" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "Seriais Únicos Globais" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "Números de série para itens de estoque devem ser globalmente únicos" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "Excluir Estoque Esgotado" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "Determina o comportamento padrão quando um item de estoque é esgotado" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "Modelo de Código de Lote" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "Modelo para gerar códigos de lote padrão para itens de estoque" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "Validade do Estoque" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "Ativar função de validade de estoque" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "Vender estoque expirado" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "Permitir venda de estoque expirado" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "Tempo de Estoque Inativo" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "Número de dias em que os itens em estoque são considerados obsoleto antes de vencer" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "Produzir Estoque Vencido" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "Permitir produção com estoque vencido" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "Controle de propriedade do estoque" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "Ativar controle de propriedade sobre locais e itens de estoque" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "Ícone padrão do local de estoque" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "Ícone padrão de local de estoque (vazio significa sem ícone)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "Mostrar Itens de Estoque Instalados" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "Exibir itens de estoque instalados nas tabelas de estoque" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "Verificar BOM ao instalar itens" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Itens de estoque instalados devem existir na BOM para a peça parente" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "Permitir Transferência Fora do Estoque" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Permitir que os itens que não estão em estoque sejam transferidos entre locais de estoque" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Produção" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Produção" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "Requer Proprietário Responsável" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "Um proprietário responsável deve ser atribuído a cada ordem" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "Bloquear até os Testes serem Aprovados" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Impedir que as saídas da produção sejam concluídas até que todos os testes sejam aprovados" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "Ativar Pedidos de Devolução" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "Ativar funcionalidade de pedido de retorno na interface do usuário" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Devolução" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "Editar os Pedidos de Devolução Concluídos" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "Permitir a edição de pedidos de devolução após serem enviados ou concluídos" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Venda" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Venda" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "Envio Padrão de Pedidos de Venda" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "Habilitar criação de envio padrão com Pedidos de Vendas" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "Editar os Pedidos de Vendas concluídos" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Permitir a edição de pedidos de vendas após serem enviados ou concluídos" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "Modelo de Referência de Pedidos de Compras" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "Modelo necessário para gerar campo de referência do Pedido de Compra" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "Editar Pedidos de Compra Concluídos" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Permitir a edição de pedidos de compras após serem enviados ou concluídos" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "Autocompletar Pedidos de Compra" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Marcar automaticamente os pedidos de compra como concluídos quando todos os itens de linha forem recebidos" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Habitar esquecer senha" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Habilitar a função \"Esqueci minha senha\" nas páginas de acesso" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Habilitar cadastro" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Ativar auto-registro para usuários na página de entrada" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "Ativar SSO" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "Ativar SSO na página de acesso" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "Ativar registro SSO" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Ativar auto-registro por SSO para usuários na página de entrada" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "Email obrigatório" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "Exigir do usuário o e-mail no cadastro" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "Auto-preencher usuários SSO" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "Preencher automaticamente os detalhes do usuário a partir de dados da conta SSO" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "Enviar email duplo" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "No registro pedir aos usuários duas vezes pelo email" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Senha duas vezes" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "No registro pedir aos usuários duas vezes pela senha" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Domínios permitidos" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Restringir registros a certos domínios (separados por vírgula, começando com @)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Grupo no cadastro" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "Forçar AMF" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "Os usuários devem usar uma segurança multifator." -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "Checar extensões no início" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Checar que todas as extensões instaladas no início — ativar em ambientes de contêineres" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "Verificar por atualizações de plugin" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "Habilitar verificações periódicas de atualizações para plugins instalados" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "Ativar integração URL" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "Ativar extensão para adicionar rotas URL" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "Ativar integração de navegação" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "Ativar extensões para integrar à navegação" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "Ativa integração com aplicativo" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "Ativar extensões para adicionar aplicativos" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "Ativar integração do calendário" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "Ativar extensões para executar tarefas agendadas" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "Ativar integração de eventos" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "Ativar extensões para responder a eventos internos" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "Funcionalidade de Balanço do Inventário" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Ativar funcionalidade de balanço para gravar níveis de estoque e calcular seu valor" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "Excluir Locais Externos" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Excluir itens de estoque em locais externos dos cálculos do estoque" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "Período de Balanço Automático" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Número de dias entre gravação do balanço de estoque (coloque zero para desativar)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "Intervalo para Excluir o Relatório" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Relatórios de balanço serão apagados após um número de dias especificado" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "Mostrar nomes completos dos usuários" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "Mostrar Nomes Completos em vez de Nomes de Usuário" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "Formato preferido para mostrar datas" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Agendamento de peças" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "Mostrar informações de agendamento de peças" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "Balanço de Peça" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Mostrar informação de balanço da peça (se a funcionalidade de balanço estiver habilitada)" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "Receber relatório de erros" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "Receber notificações para erros do sistema" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "Últimas máquinas de impressão utilizadas" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "Salvar as últimas máquinas de impressão usadas para um usuário" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Fabricante" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Empresa" @@ -3513,331 +3638,331 @@ msgstr "Empresa" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Empresas" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Descrição da empresa" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "Descrição da empresa" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Página Web" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "URL do Site da empresa" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Número de telefone" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Número de telefone do contato" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Endereço de e-mail do contato" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Contato" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "Ponto de contato" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "Link para informações externas da empresa" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "Você vende itens para esta empresa?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "Você compra itens desta empresa?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "Esta empresa fabrica peças?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "Moeda padrão utilizada para esta empresa" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Endereço" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Endereços" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Selecione a Empresa" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "Título do endereço" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "Título descrevendo a entrada de endereço" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Endereço Principal" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Definir como endereço principal" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "Linha 1" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "Linha de endereço 1" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "Linha 2" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "Linha de endereço 2" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Código Postal" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Cidade/Região" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "Código Postal Cidade / Região" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "Estado/Provincia" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "Estado ou Província" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "País" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "País do endereço" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "Notas de envio da transportadora" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "Notas para o envio da transportadora" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "Notas de envio interno" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "Notas de envio para uso interno" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "Link para as informações do endereço (externo)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Peça do Fabricante" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Peça base" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Selecionar peça" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Selecionar fabricante" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "NPF" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Número de Peça do Fabricante" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "URL do link externo da peça do fabricante" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "Descrição da peça do fabricante" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Nome do parâmetro" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Valor do Parâmetro" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Unidades" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Unidades do parâmetro" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "Unidades de pacote devem ser compatíveis com as unidades de peça base" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "Unidades de pacote deve ser maior do que zero" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "Parte do fabricante vinculado deve fazer referência à mesma peça base" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Fornecedor" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Selecione o fornecedor" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "Unidade de reserva de estoque fornecedor" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Selecionar peça do fabricante" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "URL do link externo da peça do fabricante" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "Descrição da peça fornecedor" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Anotação" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "preço base" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Embalagem" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "Embalagem de peças" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "Quantidade de embalagens" -#: company/models.py:858 +#: company/models.py:891 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:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "múltiplo" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "Pedir múltiplos" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "Quantidade disponível do fornecedor" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "Disponibilidade Atualizada" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "Data da última atualização da disponibilidade dos dados" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "Moeda padrão utilizada para este fornecedor" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "Em Estoque" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Chave" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "Válido" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "Referência do pedido" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Situação" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "Quantidade deve ser um número positivo" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "Recebido" msgid "Number of items received" msgstr "Número de itens recebidos" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "Preço de Compra" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "Código (SKU)" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "Numero interno do produto" @@ -5046,130 +5167,114 @@ msgstr "Reembolsar" msgid "Reject" msgstr "Recusar" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "Pedido de compra vencido" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Pedido de compra {po} está atrasada" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "Pedido de venda vencido" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Pedido de venda {so} está atrasada" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "Pedido de compra recebido" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "Pedidos de Venda Feitos" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "Estoque produzido pelo Pedido de Produção" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "Estoque obrigatório para Pedido de Produção" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "Validar a Lista de Materiais completa" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "Esta opção deve ser selecionada" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "Ícone (opcional)" 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:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Peças" @@ -5335,7 +5440,7 @@ msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "Revisão de peça ou número de versão" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Revisão" @@ -5376,7 +5481,7 @@ msgstr "Validade Padrão" 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:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Estoque Mínimo" @@ -5612,7 +5717,7 @@ msgstr "Número de entradas de estoques individuais no momento do balanço" msgid "Total available stock at time of stocktake" msgstr "Estoque total disponível no momento do balanço" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Data" @@ -5713,7 +5818,7 @@ msgstr "Descrição do Teste" msgid "Enter description for this test" msgstr "Digite a descrição para este teste" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Habilitado" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "Moeda de compra deste item de estoque" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "Peça Original" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "Selecione a peça original para duplicar" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Copiar imagem" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "Copiar LDM" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "Copiar lista de materiais da peça original" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "Copiar Parâmetros" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "Copiar dados do parâmetro da peça original" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "Quantidade Inicial de Estoque" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Especificar a quantidade inicial de estoque para a peça. Se for zero, nenhum estoque é adicionado." -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "Local Inicial do Estoque" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "Especifique o local do estoque inicial para esta Peça" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "Selecione o fornecedor (ou deixe em branco para pular)" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecione fabricante (ou deixe em branco para pular)" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "Número de Peça do Fabricante" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "A empresa selecionada não é um fornecedor válido" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "A empresa selecionada não é um fabricante válido" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "A peça do fabricante que corresponde a essa MPN já existe" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "A peça do fornecedor que corresponde a essa SKU já existe" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Nome da Categoria" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "Produzindo" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Itens de Estoque" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Fornecedores" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Estoque Total" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "Peça duplicada" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "Copiar dados iniciais de outra peça" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "Estoque inicial" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "Criar peça com a quantidade inicial de estoque" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "Informações do Fornecedor" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "Adicionar informação inicial de fornecedor para esta peça" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "Copiar Parâmetros da Categoria" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "Copiar modelos de parâmetros a partir de categoria de peça selecionada" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "Imagem Existente" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "Nome de arquivo de uma imagem de peça existente" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "A imagem não existe" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "Pode Produzir" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Limitar o relatório de balanço a uma determinada peça e quaisquer peças variantes" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Limitar o relatório de balanço a uma determinada categoria, e qualquer peças filhas" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Limitar o relatório de balanço a um determinado local de estoque, e qualquer local filho" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "Excluir Estoque externo" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "Excluir itens de estoque em locais externos" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Gerar relatório" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "Gerar arquivo de relatório contendo dados de estoque calculados" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "Atualizar Peças" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "Atualizar peças especificadas com dados de estoque calculados" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "Função de Balanço de Estoque não está ativada" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Falha em verificar o histórico do trabalhador" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Preço Mínimo" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "Sobrepor valor calculado para preço mínimo" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "Moeda do preço mínimo" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Preço Máximo" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "Sobrepor valor calculado para preço máximo" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "Moeda do preço máximo" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Atualizar" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "Atualizar preços desta peça" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Não foi possível converter das moedas fornecidas para {default_currency}" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "Preço mínimo não pode ser maior que o preço máximo" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "Preço máximo não pode ser menor que o preço mínimo" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "Selecionar peça para copiar a LDM" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "Remover Dado Existente" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "Remova itens LDM existentes antes de copiar" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "Incluir Herdados" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "Incluir itens LDM que são herdados de peças modelo" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "Pular Linhas inválidas" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "Habilitar esta opção para pular linhas inválidas" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "Copiar Peças Substitutas" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copiar peças de substitutas quando duplicar itens de LDM" @@ -6651,8 +6748,8 @@ msgstr "Fornece suporte nativo para códigos de barras" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "Contribuidores do InvenTree" @@ -6979,7 +7076,7 @@ msgstr "Borda" msgid "Print a border around each label" msgstr "Imprima uma borda em torno de cada etiqueta" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "Paisagem" @@ -7011,51 +7108,51 @@ msgstr "A etiqueta é muito grande para tamanho de página" msgid "No labels were generated" msgstr "Nenhuma etiqueta foi gerada" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "Integração de fornecedor - DigiKey" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "Fornece suporte para escanear códigos de barras DigiKey" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "O fornecedor que atua como 'DigiKey'" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "Integração de fornecedor - LCSC" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "Fornece suporte para escanear códigos de barras LCSC" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "O fornecedor que atua como 'LCSC'" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "Integração de fornecedor - Mouser" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "Fornece suporte para escanear códigos de barras Mouser" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "O fornecedor que atua como 'Mouser'" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "Integração de fornecedor - TME" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "Fornece suporte para escanear códigos de barras TME" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "O fornecedor que atua como 'TME'" @@ -7160,21 +7257,21 @@ msgstr "Extensões" msgid "Method" msgstr "Método" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "Nenhum autor encontrado" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "A extensão '{p}' não é compatível com a versão atual do InvenTree {v}" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Extensão requer pelo menos a versão {v}" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Extensão requer no máximo a versão {v}" @@ -7203,11 +7300,11 @@ msgstr "Numérico" msgid "A numerical setting" msgstr "Uma configuração numérica" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "Configurações de Escolha" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "Uma configuração com várias escolhas" @@ -7355,43 +7452,43 @@ msgstr "Coletar plugins" msgid "Collect plugins and add them to the registry" msgstr "Colete plugins e adicione-os ao registro" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "Ativar Extensão" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "Ativar esta extensão" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "Itens" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "Carta" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "Nome do modelo" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "Padrão de Nome de Arquivo" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Filtros" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "Tamanho da página para relatórios PDF" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "Renderizar relatório em orientação paisagem" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Largura [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "Largura da etiqueta, em mm" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Altura [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "Altura da Etiqueta, em mm" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "Recorte" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "Relatar arquivo de recorte" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "Descrição do arquivo de recorte" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "Patrimônio" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "Reportar arquivo de ativos" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "Descrição do arquivo de ativos" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "Selecione o modelo de etiqueta" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "Materiais necessários" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "Lote" msgid "Stock location items" msgstr "Estoque de itens do local" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Relatório Teste do Item em Estoque" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "Itens instalados" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Série" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Resultados do teste" @@ -7647,15 +7767,6 @@ msgstr "Sem resultado (obrigatório)" msgid "No result" msgstr "Nenhum resultado" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "Itens instalados" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Série" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "O arquivo não existe" @@ -7672,123 +7783,123 @@ msgstr "Tag part_image necessita de uma instância de Peça" msgid "company_image tag requires a Company instance" msgstr "Tag company_image necessita de uma instância de Empresa" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "Código da situação" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "Localização externa" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "Árvore de Peças" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "Data de validade antes" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "Data de validade depois" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "Inativo" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "Quantidade obrigatória" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "Uma peça válida deve ser fornecida" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "A peça do fornecedor informado não existe" -#: stock/api.py:1029 +#: stock/api.py:1048 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:1056 +#: stock/api.py:1080 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" @@ -7897,7 +8008,7 @@ msgstr "Selecione uma peça do fornecedor correspondente para este item de estoq msgid "Where is this stock item located?" msgstr "Onde está localizado este item de estoque?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "Embalagem deste item de estoque está armazenado em" @@ -7913,7 +8024,7 @@ msgstr "Este item está instalado em outro item?" msgid "Serial number for this item" msgstr "Número de série para este item" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "Código do lote para este item de estoque" @@ -7969,136 +8080,136 @@ msgstr "Preço de compra unitário único no momento da compra" msgid "Converted to part" msgstr "Convertido para peça" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "Peça não está definida como rastreável" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "Quantidade deve ser inteira" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Quantidade não deve exceder a quantidade em estoque ({self.quantity})" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "A quantidade não corresponde aos números de série" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "Item em estoque foi reservado para um pedido" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "Item em estoque está instalado em outro item" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "item em estoque contem outro(s) items" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "Item em estoque foi reservado para outro cliente" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "Item no estoque está em produção no momento" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "Itens de série não podem ser mesclados" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "Item de estoque duplicado" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "Itens de estoque devem se referir à mesma peça" -#: stock/models.py:1921 +#: stock/models.py:1934 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:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "Códigos de estado do estoque devem corresponder" -#: stock/models.py:2196 +#: stock/models.py:2209 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:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "Observações de entrada" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "Deve-se fornecer o valor desse teste" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "O anexo deve ser enviado para este teste" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Resultado do teste" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "Valor da saída do teste" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "Anexo do resultado do teste" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "Notas do teste" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Usar tamanho do pacote ao adicionar: a quantidade definida é o número de pacotes" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "Expirado" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "Itens Filhos" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "Preço de compra para este item de estoque, por unidade ou pacote" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "Insira o número de itens de estoque para serializar" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Quantidade não deve exceder a quantidade disponível em estoque ({q})" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "Inserir número de série para novos itens" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "Local de destino do estoque" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "Campo opcional de notas" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "Números de série não podem ser atribuídos a esta peça" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "Números de série já existem" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "Selecione o item de estoque para instalar" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "Quantidade a Instalar" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "Insira a quantidade de itens a instalar" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "Adicionar nota de transação (opcional)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "A quantidade para instalar deve ser pelo menos 1" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "Item de estoque indisponível" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "Peça selecionada não está na Lista de Materiais" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "Quantidade a instalar não deve exceder a quantidade disponível" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "Local de destino para o item desinstalado" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "Selecione peça para converter o item de estoque em" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "Peça selecionada não é uma opção válida para conversão" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Não é possível converter o item de estoque com a Peça de Fornecedor atribuída" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "Código de estado do item estoque" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "Local de destino para item retornado" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "Selecionar itens de estoque para mudar estados" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "Nenhum item de estoque selecionado" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Sub-locais" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "Parte deve ser comercializável" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "Item é alocado para um pedido de venda" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "Item está alocado a um pedido de produção" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "Cliente para atribuir itens de estoque" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "A empresa selecionada não é um cliente" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "Nodas atribuídas a estoque" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "Uma lista de item de estoque deve ser providenciada" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "Notas de fusão de estoque" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "Permitir fornecedores divergentes" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "Permitir a fusão de itens de estoque de fornecedores diferentes" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "Permitir estado incompatível" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "Permitir a fusão de itens de estoque com estado diferentes" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "Ao menos dois itens de estoque devem ser providenciados" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "Valor da chave primária do Item Estoque" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "Notas da transação de estoque" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po index 0b5b6f567b..8db13ef3ad 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API endpoint não encontrado" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "Lista de itens inválida fornecida" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "Filtros inválidos fornecidos" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Observações" @@ -356,7 +356,7 @@ msgstr "Chinês (tradicional)" msgid "Log in to the app" msgstr "Entrar no aplicativo" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "E-mail" @@ -408,19 +408,19 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Descrição" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "" @@ -479,11 +479,11 @@ msgstr "" msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Moeda" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "" @@ -527,29 +527,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "" @@ -854,7 +854,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Quantidade necessária para o pedido de produção" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "" @@ -1089,8 +1090,8 @@ msgstr "" 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:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "Cancelado" msgid "Complete" msgstr "" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Ativo" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Notificações de usuários será excluído após um número especificado de dias" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Modelo" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3513,331 +3638,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "Quantidade Especulativa" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "ID do modelo" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po index 54f675f64b..045a21fe2b 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Language: ro_RO\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Utilizatorul nu are permisiunea de a vedea acest model" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "" @@ -356,7 +356,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "" @@ -408,19 +408,19 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "" @@ -479,11 +479,11 @@ msgstr "" msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "" @@ -527,29 +527,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "" @@ -854,7 +854,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "" msgid "Complete" msgstr "" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3513,331 +3638,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index 5ba81c23e8..a191173b4a 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "Вы должны включить двухфакторную аутентификацию, прежде чем делать что-нибудь еще." -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "Конечная точка API не обнаружена" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "У пользователя недостаточно прав для просмотра этой модели!" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Записи" @@ -356,7 +356,7 @@ msgstr "Китайский (Традиционный)" msgid "Log in to the app" msgstr "Войти в приложение" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "Электронная почта" @@ -408,19 +408,19 @@ msgstr "Повторяющиеся имена не могут существов msgid "Invalid choice" msgstr "Неверный выбор" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Название" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Описание" msgid "Description (optional)" msgstr "Описание (необязательно)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Путь" @@ -479,11 +479,11 @@ msgstr "Сервер зарегистрировал ошибку." msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Валюта" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Выберите валюту из доступных вариантов" @@ -527,29 +527,29 @@ msgstr "Избыток не может превысить 100%" msgid "Invalid value for overage" msgstr "Неверное значение для избытка" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Статус заказа" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Родительский заказ на производство" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "Деталь" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Категория" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "Назначено мне" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Создано" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "Заказ на производство должен быть отменен перед удалением" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" -msgstr "Расходники" +msgstr "Расходник" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Необязательно" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" -msgstr "Производимая деталь" +msgstr "Сборная деталь" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Отслеживается" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Зарезервировано" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Доступно" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Код статуса заказа на производство" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Код партии" @@ -824,7 +824,7 @@ msgstr "Дата создания" #: build/models.py:355 msgid "Build start date" -msgstr "" +msgstr "Дата начала сборки" #: build/models.py:356 msgid "Scheduled start date for this build order" @@ -854,7 +854,7 @@ msgstr "Создано" msgid "User who issued this build order" msgstr "Пользователь, создавший этот заказ на производство" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Пользователь, ответственный за этот за msgid "External Link" msgstr "Внешняя ссылка" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Ссылка на внешний URL" @@ -881,7 +881,7 @@ msgstr "Приоритет производства" msgid "Priority of this build order" msgstr "Приоритет этого заказа на производство" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Код проекта" @@ -903,51 +903,50 @@ msgstr "Заказ на производство {build} был завершен msgid "A build order has been completed" msgstr "Заказ на производство был завершен" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "Для отслеживаемых частей должны быть указаны серийные номера" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Продукция не указана" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Продукция уже произведена" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Продукция не совпадает с заказом на производство" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "Количество не может быть больше количества продукции" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Сборка {serial} не прошла все необходимые тесты" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "Номер позиции для производства" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Объект производства" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Объект производства" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Количество" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Требуемое количество для заказа на производство" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Элемент производства должен указать продукцию, как главную деталь помеченную как отслеживаемая" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Резервируемое количество ({q}) не должно превышать доступное количество на складе ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Складская позиция перераспределена" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Резервируемое количество должно быть больше нуля" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Количество должно быть 1 для сериализованных запасов" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "Выбранная складская позиция не соответствует позиции в BOM" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Складская позиция" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Исходная складская позиция" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Количество на складе для производства" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Установить в" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Целевая складская позиция" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Требуется целое количество, так как материал содержит отслеживаемые детали" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Серийные номера" @@ -1070,10 +1071,10 @@ msgstr "Введите серийные номера для продукции" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Расположение" @@ -1089,8 +1090,8 @@ msgstr "Автоматически выделить серийные номер msgid "Automatically allocate required items with matching serial numbers" msgstr "Автоматически зарезервировать необходимые элементы с соответствующими серийными номерами" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "Следующие серийные номера уже существуют или недействительны" @@ -1222,7 +1223,7 @@ msgstr "Позиция для производства" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part должна указывать на ту же часть, что и заказ на производство" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "Элемент должен быть в наличии" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "Деталь поставщика" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "Зарезервированное количество" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Отслеживание" @@ -1327,10 +1328,10 @@ msgstr "Унаследованные" #: build/serializers.py:1375 part/models.py:4434 msgid "Allow Variants" -msgstr "Разрешить разновидности" +msgstr "Есть варианты" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "Позиция BOM" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "Зарезервированные Запасы" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "В заказе" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "В производстве" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "Внешний склад" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Доступный запас" @@ -1391,32 +1392,32 @@ msgstr "Отменён" msgid "Complete" msgstr "Завершён" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "Необходимый запас для заказа на производство" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "Просроченный заказ сборки" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Заказ на производство {bo} просрочен" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "Ссылка" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "Файл" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "У пользователя нет прав для удаления этих вложений" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "У пользователя нет прав на удаление этого вложения" @@ -1436,61 +1437,61 @@ msgstr "Не указаны действительные коды валют" msgid "No plugin" msgstr "Нет плагина" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Обновлено" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Временная метка последнего обновления" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Уникальный код проекта" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Описание проекта" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "Пользователь или группа, ответственные за этот проект" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Значения настроек" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "Выбранное значение не является допустимым" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "Значение должно быть булевым" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "Значение должно быть целым числом" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "Строка ключа должна быть уникальной" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "Строка ключа должна быть уникальной" msgid "User" msgstr "Пользователь" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "Скидка распространяется на заданное количество" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Цена" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "Цена за единицу для указанного количества" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Конечная точка" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Активный" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "Токен" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "Токен для доступа" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Секрет" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "ID Сообщения" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "Хост" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Заголовок" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Тело" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "Работал над" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "Код" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Заголовок" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Ссылка" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Опубликовано" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Автор" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Итого" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Читать" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Изображение" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Файл изображения" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "Название единицы" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Символ" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "Обозначение единицы измерения (необязательно)" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Определение" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Определение единицы измерения" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Вложения" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Файл не найден" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Отсутствует внешняя ссылка" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "Тип модели" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Выберите файл для вложения" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Комментарий" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "Описание вложения" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "Размер файла в байтах" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" -msgstr "" +msgstr "Группа статусов" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" -msgstr "" +msgstr "Группа статусов, которая будет дополнена пользовательским состоянием" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" -msgstr "" +msgstr "Логическое состояние" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" -msgstr "" +msgstr "Логическое состояние, соответствующее пользовательскому состоянию в бизнес-логике" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Значение" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" -msgstr "" +msgstr "Числовое значение, которое будет сохранено в базе данных" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" -msgstr "" +msgstr "Название состояния" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" -msgstr "" +msgstr "Цвет" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" -msgstr "" +msgstr "Цвет отображения в интерфейсе" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" -msgstr "" +msgstr "Логическое состояние должно быть выбрано" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" -msgstr "" +msgstr "Ключ должен отличаться от логического ключа" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" -msgstr "" +msgstr "Состояние должно отличаться от других логических состояний выбранного статуса" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" -msgstr "" +msgstr "Логическое состояние должно быть из множества логических состояний выбранного статуса" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "Заблокирована" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Создано" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Последнее обновление" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Данные" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "Данные штрихкода" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "Метка времени" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Контекст" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Результат" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Ключ" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "Запущен" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "Ожидающие задачи" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Запланированные задания" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Невыполненные Задачи" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "Код задачи" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "Уникальный ID задачи" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "Заблокировать" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Время блокировки" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Название задачи" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Функция" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Имя функции" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Аргументы" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Аргументы задачи" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Имя файла" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" -msgstr "" +msgstr "Тип модели" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "Нет группы" msgid "Site URL is locked by configuration" msgstr "URL сайта заблокирован настройками" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Требуется перезапуск" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "Настройки были изменены, что требует перезапуска сервера" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Ожидаемые миграции" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "Количество ожидаемых миграций базы данных" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Название сервера" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "Текстовое описание сервера" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Название инстанса" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "Имя сервера в заголовке" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "Ограничить отображение `О...`" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "Показать `О...` только суперпользователям" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Название компании" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Внутреннее название компании" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "Базовая ссылка" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "Базовая ссылка для экземпляра сервера" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Валюта по умолчанию" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "Выберите базовую валюту для расчета цены" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "Поддерживаемые валюты" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "Список поддерживаемых кодов валют" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "Интервал обновления курса валют" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Как часто обновлять курс валют (установите \"ноль\", чтобы выключить)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "дней" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "Плагин обновления валют" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "Модуль обновления валюты" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Скачать по ссылке" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Разрешить загрузку удаленных изображений и файлов по внешнему URL" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "Ограничение размера загрузки" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "Максимально допустимый размер загрузки для удалённого изображения" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "User-Agent, используемый для загрузки из URL" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Позволяет переопределить user-Agent, используемый для загрузки изображений и файлов с внешнего URL (оставьте пустым по умолчанию)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "Строгая проверка URL-адреса" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "Требуется спецификация схемы при проверке URL-адресов" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Интервал проверки обновлений" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "Как часто проверять наличие обновлений (установите ноль чтобы выключить)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Автоматическое резервное копирование" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Включить автоматическое резервное копирование базы данных и медиа-файлов" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Интервал резервного копирования" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Укажите количество дней между событиями автоматического резервного копирования" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "Интервал удаления задачи" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "Результаты фоновых задач будут удалены после указанного количества дней" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "Интервал удаления журнала ошибок" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "Журналы ошибок будут удалены после указанного количества дней" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "Интервал удаления уведомления" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Уведомления пользователя будут удалены после указанного количества дней" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Поддержка штрих-кодов" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "Включить поддержку сканера штрих-кодов в веб-интерфейсе" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "Задержка сканирования штрих-кода" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "Время задержки обработки штрих-кода" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "Поддержка веб-камер штрих-кодов" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "Разрешить сканирование штрих-кода через веб-камеру в браузере" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "Показать данные штрих-кода" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "Отображать данные штрих-кода в браузере в виде текста" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "Плагин генерации штрих-кода" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "Плагин для использования внутренней генерации данных штрих-кодов" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "Ревизия детали" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "Включить поле ревизии для элемента" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "Только ревизия сборки" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "Разрешить удаление из заказа" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "Разрешить удаление частей, которые используются в заказе" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "Регулярное выражение IPN" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "Шаблон регулярного выражения для сопоставления IPN детали" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Разрешить повторяющиеся IPN" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "Разрешить нескольким элементам использовать один и тот же IPN" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "Разрешить редактирование IPN" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "Разрешить изменение значения IPN при редактировании детали" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Скопировать данные BOM детали" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "Копировать данные BOM по умолчанию при дублировании детали" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "Скопировать данные параметров детали" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "Копировать данных параметров по умолчанию при дублировании детали" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "Скопировать данные тестирования детали" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "Копировать данные тестирования по умолчанию при дублировании детали" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "Скопировать параметры по шаблону категории" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "Копировать параметры по шаблону категории при создании детали" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Шаблон" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "По умолчанию детали являются шаблонами" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "По умолчанию детали могут быть собраны из других компонентов" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Компонент" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "По умолчанию детали могут использоваться в качестве суб-компонентов" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Можно купить" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Можно продавать" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "Детали продаются по умолчанию" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "По умолчанию детали являются отслеживаемыми" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Виртуальная" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Детали являются виртуальными по умолчанию" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Показывать связанные детали" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Отображать связанные детали для элемента" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "Начальные данные о запасах" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "Разрешить создание начального запаса при добавлении новой детали" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "Исходные данные о поставщике" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Разрешить создание исходных данных о поставщике при добавлении новой детали" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Формат отображения детали" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Формат для отображения имени детали" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "Значок раздела по умолчанию" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "Значок категории по умолчанию (пустой означает отсутствие значка)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "Принудительное применение единиц измерения параметров" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "Если введены единицы, значения параметра должны соответствовать указанным единицам измерения" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "Минимальные Цены Десятичные Значки" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Минимальное количество десятичных знаков при отображении данных о ценах" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "Макс. Цены десятичные знаки" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Минимальное количество десятичных знаков при отображении данных о ценах" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Использовать цены поставщика" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Включить разницу цен поставщиков при расчетах цен" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Изменить историю покупки" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Ценообразование по историческим заказам на поставку отменяет различия в ценах поставщиков" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "Использовать цены из складских позиций" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Использовать расценки из ручного ввода данных о запасах для расчета цен" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "Возраст цен складских позиций" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Исключить складские позиции старше указанного количества дней с расчёта цен" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "Использовать варианты цен" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "Включить разницу цен поставщиков при расчетах цен" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "Только Активные Варианты" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "Использовать только активные запчасти для расчета стоимости варианта" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "Интервал пересчета цен" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "Количество дней до автоматического обновления цены" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Внутренние цены" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "Разрешить внутренние цены для частей" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Переопределение внутренней цены" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "При наличии внутренних цен переопределить ценовой диапазон" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Включить печать этикеток" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Включить печать этикеток из веб-интерфейса" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "Изображение меток DPI" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Разрешение DPI при создании файлов изображений для печати этикеток плагинов" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Включить отчеты" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Включить генерацию отчетов" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Режим отладки" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "Генерировать отчеты в режиме отладки (вывод HTML)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "Журнал ошибок отчета" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "Журнал ошибок, которые возникают при создании отчетов" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Размер страницы" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Размер страницы по умолчанию для PDF отчетов" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "Глобально уникальные серийные номера" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "Серийные номера для складских позиций должны быть уникальными глобально" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "Удалить исчерпанный запас" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "Определяет поведение по умолчанию, когда складская позиция заканчивается" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "Код партии Шаблона" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "Шаблон для создания кодов партии по умолчанию для складских позиций" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "Срок годности Запасов" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "Включить функцию истечения срока годности" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "Использовать просроченные остатки в производстве" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "Разрешить продажу просроченных запасов" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "Время Залежалости Запасов" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "Количество дней перед тем как складская единица будет считаться просроченной" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "Использовать просроченные остатки в производстве" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "Разрешить использовать просроченные остатки в производстве" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "Контроль за собственными запасами" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "Разрешить владельцу контролировать расположение складов и номенклатуры" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "Значок местоположения по умолчанию" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "Значок местоположения склада по умолчанию (пустой означает отсутствие значка)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "Показать установленные складские позиции" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "Отображать установленные складские позиции в складских таблицах" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "Проверять спецификацию при установке изделий" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Установленные единица хранения должны присутствовать в спецификации для родительской детали" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "Разрешить передачу товара, отсутствующего на складе" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Разрешить перемещение товаров, которых нет на складе, между складами" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "Паттерн ссылки заказа на производство" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Поле требуемого паттерна для создания ссылки заказа на производство" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "Требуется ответственный владелец" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "Ответственный владелец должен быть назначен для каждого заказа" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Запретить вывод сборки до тех пор, пока не пройдут все необходимые тесты" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "Включить заказы на возврат" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "Включите функцию заказа на возврат в пользовательском интерфейсе" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "Шаблон заказа на возврат товара" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "Необходимый шаблон для создания поля «Возврат заказа»" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "Редактировать завершенные возвратные заказы" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "Разрешить редактирование возвращенных заказов после их завершения" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "Шаблон заказа на возврат товара" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "Необходимый шаблон для создания поля «Возврат заказа»" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Заказы на продажу, помеченные как отгруженные, будут автоматически завершены, минуя статус 'отгружено'" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" -msgstr "Редактировать завершенные заказы на покупку" +msgstr "Редактировать завершённые заказы на закупку" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Разрешить редактирование заказов после их отправки или завершения" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" -msgstr "Редактировать завершенные заказы на покупку" +msgstr "Автоматически выполнять заказы на закупку" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" -msgstr "Автоматически отмечать заказы на покупку как выполненные при получении всех позиций" +msgstr "Автоматически отмечать заказы на закупку как завершённые при получении всех позиций" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Включить функцию восстановления пароля" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Включить функцию восстановления пароля на странице входа" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Разрешить регистрацию" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Включить самостоятельную регистрацию пользователей на странице входа" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "Включить SSO" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "Включить SSO на странице входа" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "Включить регистрацию через SSO" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Включить самостоятельную регистрацию пользователей через SSO на странице входа" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "Включить синхронизацию групп через SSO" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "Включить синхронизацию групп InvenTree с группами, предоставляемыми IdP" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "Отображение от групп SSO к локальным группам InvenTree. Если локальная группа не существует, она будет создана." -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "Необходимо указать EMail" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "Написать дважды" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Пароль дважды" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Разрешенные домены" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Группа при новой регистрации" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "Группа, на которую назначаются новые пользователи при регистрации. Если включена синхронизация группы SSO, эта группа задается только в том случае, если ни одна группа не может быть назначена через IdP." -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "Принудительное MFA" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "Пользователи должны использовать многофакторную безопасность." -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "Проверять плагины при запуске" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "Проверка обновлений плагинов" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "Включить периодическую проверку обновлений установленных плагинов" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "Включить коды проекта" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "Включить коды проекта для отслеживания проектов" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "Включить коды проекта" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "Включить коды проекта для отслеживания проектов" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Исключить складские позиции во внешних местах хранения из инвентаризации" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "Автоматический период инвентаризации" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Количество дней между автоматической записью запасов (установите нулевое значение для отключения)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "Интервал удаления журнала ошибок" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Журналы ошибок будут удалены после указанного количества дней" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "Показывать полные имена пользователей" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "Отображать полные имена пользователей вместо логинов" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "Включить данные тестовой станции" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "Включить сбор данных с тестовой станции для получения результатов тестирования" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "Предпочтительный формат для отображения дат" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Планирование деталей" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "Инвентаризация детали" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Показывать информацию о товаре (если включена функция инвентаризации)" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Производитель" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Компания" @@ -3513,331 +3638,331 @@ msgstr "Компания" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Компании" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Описание компании" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "Описание компании" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Сайт" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "Сайт компании" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Телефон" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Контактный телефон" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Электронная почта контакта" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Контакт" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "Контактное лицо" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "Ссылка на описание компании" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "Эта компания активна?" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "Покупатель" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "Является ли компания покупателем?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "Поставщик" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "Является ли компания поставщиком деталей?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "Производитель" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "Является ли компания производителем деталей?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "Для этой компании используется валюта по умолчанию" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Адрес" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Адреса" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Выберите компанию" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "Заголовок адреса" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Основной адрес" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Указать основным адресом" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "Строка 1" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "Адресная строка 1" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "Строка 2" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "Адресная строка 2" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Почтовый индекс" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Город/Регион" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "Регион/Область" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "Страна" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "Страна адреса" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "Записи отправления" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "Записи для курьера" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "Внутренние записи отправления" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "Записи отправления для внутреннего пользования" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "Ссылка на адресную информацию (внешняя)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Производитель детали" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Базовая деталь" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Выберите деталь" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Выберите производителя" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "Артикул производителя" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Код производителя" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "Ссылка на сайт производителя" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "Описание детали производителя" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Наименование параметра" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Значение параметра" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Ед.изм" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Единицы измерения параметра" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "Связанная деталь производителя должна ссылаться на ту же базовую деталь" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Поставщик" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "Артикул поставщика" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Выберите производителя части" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "Ссылка на сайт поставщика" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "Описание детали поставщика" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" -msgstr "Запись" +msgstr "Заметка" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "базовая стоимость" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Упаковка" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "Упаковка детали" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "Количество в упаковке" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "Общее количество, поставляемое в одной упаковке. Оставьте пустым для отдельных элементов." -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "множественные" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "Кратность заказа" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "Валюта по умолчанию для этого поставщи msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "На складе" @@ -3889,10 +4014,6 @@ msgstr "Дополнительная информация о состоянии msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Ключ" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "Ошибки" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "Корректный" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "Ссылка на заказ" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Статус" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "Получено" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "Закупочная цена" @@ -4850,11 +4971,11 @@ msgstr "Объединять элементы" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Объединять в одну позицию элементы, у которых одинаковая деталь, место хранения и целевая дата" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "Артикул" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "Внутренний артикул детали" @@ -5046,130 +5167,114 @@ msgstr "Возврат" msgid "Reject" msgstr "Отклонён" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "Просроченные заказы на закупку" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "Просроченные заказы на продажу" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "Остатки произведенные заказом на производство" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "Остатки требуемые для заказов на производство" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "Необходимо выбрать эту опцию" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5208,7 +5313,7 @@ msgstr "Ключевые слова по умолчанию для детале #: part/models.py:134 stock/models.py:96 stock/models.py:194 msgid "Icon" -msgstr "Иконка" +msgstr "Значок" #: part/models.py:135 part/serializers.py:151 part/serializers.py:170 #: stock/models.py:195 @@ -5219,7 +5324,7 @@ msgstr "Иконка (необязательно)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Детали" @@ -5335,7 +5440,7 @@ msgstr "Ключевые слова для улучшения видимости msgid "Part category" msgstr "Категория" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "Внутренний артикул" @@ -5344,7 +5449,7 @@ msgstr "Внутренний артикул" msgid "Part revision or version number" msgstr "Ревизия или серийный номер детали" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Ревизия" @@ -5376,7 +5481,7 @@ msgstr "Срок действия по умолчанию" msgid "Expiry time (in days) for stock items of this part" msgstr "Срок годности (в днях) для складских позиций этой детали" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Минимальный запас" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Дата" @@ -5713,7 +5818,7 @@ msgstr "Описание теста" msgid "Enter description for this test" msgstr "Введите описание для этого теста" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Включено" @@ -5863,7 +5968,7 @@ msgstr "Эта позиция спецификации необязательн #: part/models.py:4387 msgid "This BOM item is consumable (it is not tracked in build orders)" -msgstr "Эта позиция - расходник. (она не отслеживается в заказах на производство)" +msgstr "Эта позиция - расходник (она не отслеживается в заказах на производство)" #: part/models.py:4394 msgid "Overage" @@ -5879,7 +5984,7 @@ msgstr "Ссылка на позицию спецификации" #: part/models.py:4410 msgid "BOM item notes" -msgstr "Записи о позиции BOM" +msgstr "Заметка о позиции в спецификации" #: part/models.py:4416 msgid "Checksum" @@ -5903,11 +6008,11 @@ msgstr "Наследуется" #: part/models.py:4429 msgid "This BOM item is inherited by BOMs for variant parts" -msgstr "" +msgstr "Позиция спецификации наследуется разновидностями детали" #: part/models.py:4435 msgid "Stock items for variant parts can be used for this BOM item" -msgstr "Складские позиции для разновидностей деталей могут быть использованы для этой позиции BOM" +msgstr "Эту позицию можно заменять деталями, которые находятся на складе" #: part/models.py:4520 stock/models.py:848 msgid "Quantity must be integer value for trackable parts" @@ -5959,7 +6064,7 @@ msgstr "" #: part/serializers.py:120 msgid "Parent Category" -msgstr "" +msgstr "Родительская категория" #: part/serializers.py:121 msgid "Parent part category" @@ -5977,359 +6082,351 @@ msgstr "Результаты" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "Валюта закупки складской позиции" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "Оригинальная деталь" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Копировать Изображение" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "Скопировать BOM" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "Скопировать параметры" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "Копировать Записи" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "Скопировать записи из оригинальной детали" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "Начальное количество на складе" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Задайте начальное количество этой детали на складе. Если количество равно 0, складская позиция не будет добавлена." -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "Код производителя" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "Деталь производителя с данным артикулом уже существует" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "Деталь поставщика с данным артикулом уже существует" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Название категории" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "Производится" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Складские позиции" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Поставщики" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Общий запас" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "Начальный запас" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "Создавать деталь с начальным количеством на складе" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "Существующее изображение" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "Можно произвести" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "Исключить складские позиции в внешних местах хранения" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Создать отчет" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "Обновить детали" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Проверка фонового работника не удалась" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Минимальная цена" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "Переопределить рассчитанное значение минимальной цены" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "Валюта минимальной цены" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Максимальная цена" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "Переопределить рассчитанное значение максимальной цены" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "Валюта максимальной цены" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Обновить" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "Выберите деталь, которая является компонентом" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "Пропустить некорректные строки" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "Граница" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "Альбомная" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "Плагин" msgid "Method" msgstr "Метод" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "Автор не найден" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "Числовой" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "Настройки выбора" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "Собрать плагины" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "Активировать плагин" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "Элементы" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "Письмо" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "Название шаблона" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "Описание шаблона" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "Номер ревизии (автоматически)" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "Шаблон имени файла" -#: report/models.py:266 -msgid "Pattern for generating filenames" -msgstr "" - #: report/models.py:271 +msgid "Pattern for generating filenames" +msgstr "Шаблон для создания имён файлов" + +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "Тип модели шаблона" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Фильтры" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "Файл шаблона" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Ширина [мм]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" -msgstr "" +msgstr "Ширина этикетки, задаётся в миллиметрах" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Высота [мм]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" -msgstr "" +msgstr "Высота этикетки, задаётся в миллиметрах" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "Сниппет" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "Описание файла сниппета" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "Объект" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "Описание медиафайла" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "Выберите шаблон этикетки" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "Плагин печати" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "Выберите плагин для печати этикеток" @@ -7567,6 +7672,8 @@ msgstr "Необходимые материалы" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "Всего" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "Партия" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Отчет тестирования складской позиции" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "Установленные элементы" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Серийный номер" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Результаты тестирования" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "Нет результата" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "Установленные элементы" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Серийный номер" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "Основной склад" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "Код статуса" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "Древо Деталей" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "Залежалый" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "Необходимо указать количество" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "Выберите соответствующего поставщика msgid "Where is this stock item located?" msgstr "Где находится эта складская позиция?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "Упаковка этой складской позиции хранится в" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "Код партии для этой складской позиции" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "Деталь не является отслеживаемой" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "Складская позиция была назначена заказу на продажу" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "Складская позиция установлена в другую деталь" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "Складская позиция содержит другие детали" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "Складская позиция была назначена покупателю" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "Складская позиция в производстве" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "Складские позиции должны ссылаться на одну и ту же деталь" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "Складские позиции должны ссылаться на одну и ту же деталь поставщика" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Результат тестирования" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "Записи Тестирования" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "Номер детали поставщика" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "Просрочен" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "Дочерние элементы" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "Закупочная цена для этой складской позиции, за единицу или за упаковку" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "Введите количество складских позиций для сериализации" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "Введите серийные номера для новых элементов" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "Опциональное поле записей" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "Выберите складскую позицию для установки" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "Добавить запись к транзакции (необязательно)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "Складская позиция недоступна" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "Выбранная деталь отсутствует в спецификации" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "Выберите деталь в которую будет преобразована складская позиция" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Невозможно преобразовать складскую позицию с назначенной деталью поставщика" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "Статус складской позиции" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "Выберите складские позиции для изменения статуса" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "Не выбрано ни одной складской позиции" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Места хранения" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "Элемент зарезервирован для заказа на производство" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "Покупатель для назначения складских позиций" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "Записи о назначенных запасах" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "Необходимо предоставить список складских позиций" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "Записи о слияниях запасов" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "Разрешить слияние складских позиций с различными поставщиками" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "Разрешить слияние складских позиций с различными статусами" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "Необходимо предоставить как минимум 2 складские позиции" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "Нет изменений" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "Записи о перемещениях запасов" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 49ef6c2b41..c8597d6dd9 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "" @@ -356,7 +356,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "" @@ -408,19 +408,19 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "" @@ -479,11 +479,11 @@ msgstr "" msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "" @@ -527,29 +527,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "" @@ -854,7 +854,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "" msgid "Complete" msgstr "" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3513,331 +3638,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index 660279938c..f9bbe804c5 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API vmesnik ni najden" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Uporabnik nima dovoljenja pogleda tega modela" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Zapiski" @@ -356,7 +356,7 @@ msgstr "Kitajščina (tradicionalno)" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "E-pošta" @@ -408,19 +408,19 @@ msgstr "Podvojena imena ne morejo obstajati pod istim nadrejenim elementom" msgid "Invalid choice" msgstr "Nedovoljena izbira" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Opis" msgid "Description (optional)" msgstr "Opis (opcijsko)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Pot" @@ -479,11 +479,11 @@ msgstr "Zaznana napaka na strežniku." msgid "Must be a valid number" msgstr "Mora biti veljavna številka" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Izberite valuto med razpoložljivimi možnostmi" @@ -527,29 +527,29 @@ msgstr "Prestarost ne sme presegati 100%" msgid "Invalid value for overage" msgstr "Neveljavna vrednost za prestarost" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Nadrejena izgradnja" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "Dodeljeno meni" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Izdal" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "Dodeljeno" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Neobvezno" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Montaža" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Sledi" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Testno" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Dodeljeno" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Na voljo" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Koda statusa izgradnje" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Številka serije" @@ -854,7 +854,7 @@ msgstr "Izdal" msgid "User who issued this build order" msgstr "Uporabnik, ki je izdal nalog za izgradnjo" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Odgovorni uporabnik ali skupina za to naročilo" msgid "External Link" msgstr "Zunanja povezava" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Zunanja povezava" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "Nalog izgradnje {build} je dokončan" msgid "A build order has been completed" msgstr "Nalog izgradnej dokončan" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Ni določena izgradnja" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Igradnja je že dokončana" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Količina" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Količina za zalogo s serijsko številko mora biti 1" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Postavka zaloge" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Izvorna postavka zaloge" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Količina zaloge za prestavljanje za izgradnjo" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Inštaliraj v" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Destinacija postavke zaloge" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "Preklicano" msgid "Complete" msgstr "Končano" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "Uporabnik" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktivno" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Povezava" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Priloga" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Manjka datoteka" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Manjka zunanja povezava" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Izberite prilogo" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Komentar" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Ime datoteke" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3513,331 +3638,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Nadzor dela v ozadju neuspel" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index 2485bbc38c..f130c4a778 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API krajnja tačka nije pronađena" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "Lista nevalidiranih stavki" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "Dati su neispravni filteri" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Korisnik nema dozvolu za pregled ovog modela" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "Neispravna decimalna vrednost" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Napomene" @@ -356,7 +356,7 @@ msgstr "Kineski (Tradicionalni)" msgid "Log in to the app" msgstr "Prijavljivanje na aplikaciju" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "E-Pošta" @@ -408,19 +408,19 @@ msgstr "Dvostruka imena ne mogu postojati pod istom nadredjenom grupom" msgid "Invalid choice" msgstr "Nevažeći izvor" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Ime" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Opis" msgid "Description (optional)" msgstr "Opis (Opciono)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Putanja" @@ -479,11 +479,11 @@ msgstr "Server je zabležio grešku." msgid "Must be a valid number" msgstr "Mora biti važeći broj" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Odaberite valutu među dostupnim opcijama" @@ -527,29 +527,29 @@ msgstr "Ukupna vrednost ne sme da prelazi 100%" msgid "Invalid value for overage" msgstr "Nevažeća ukupna vrednost" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Status naloga" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Roditeljski proizvod" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "Uključi varijante" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "Uključi varijante" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "Uključi varijante" msgid "Part" msgstr "Deo" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Kategorija" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "Proizvod predaka" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "Dodeljeno meni" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Izdato od" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "Dodeljeno" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "Kreirano pre" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "Kreirano nakon" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "Ciljni datum pre" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "Ciljni datum nakon" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "Završeno pre" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "Završeno nakon" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "Ne uključuj stablo" -#: build/api.py:409 +#: build/api.py:411 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:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Potrošni materijal" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Opciono" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Sklapanje" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Praćeno" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Proverljivo" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "Neizmirena narudžbina" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Alocirano" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Dostupno" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Kod statusa izgradnje" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Kod serije" @@ -854,7 +854,7 @@ msgstr "izdato od" msgid "User who issued this build order" msgstr "Korisnik koji je izdao nalog za izgradnju" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Korisnik ili grupa koja je odgovorna za ovaj nalog za izgradnju" msgid "External Link" msgstr "Spoljašnja konekcija" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Link za eksterni URL" @@ -881,7 +881,7 @@ msgstr "Prioritet izgradnje" msgid "Priority of this build order" msgstr "Prioritet ovog naloga za izgradnju" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Kod projekta" @@ -903,51 +903,50 @@ msgstr "Nalog za izgradnju {build} je kompletiran" msgid "A build order has been completed" msgstr "Nalog za izgradnju je kompletiran" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "Za delove koji mogu da se prate moraju se dostaviri serijski brojevi" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Nije određen izlaz izgradnje" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Izlaz izgradnje je već kompletiran" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Izlaz izgradnje se ne slaže sa Nalogom za izgradnju" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "Količina mora biti veća od nule" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "Količina ne sme da bude veća od izlazne količine" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Izlaz izgradnje {serial} nije zadovoljio zahtevane testove" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "Stavka porudžbine naloga za izgradnju" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Objekat izgradnje" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Objekat izgradnje" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Količina" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Potrebna količina za nalog za izgradnju" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Alocirana količina ({q}) ne sme da bude veća od količine dostupnih zaliha ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Stavka zaliha je prealocirana" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Količina alokacije mora da bude veća od nule" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Količina mora da bude 1 za zalihe koje su serijalizovane" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "Izabrana stavka zaliha se ne slaže sa porudžbinom sa spiska materijala" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Stavka zaliha" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Izvor stavke zaliha" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Količina zaliha za alociranje za izgradnju" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Ugradi u" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Stavka zaliha odredišta" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Potrebna je brojčana količina, jer opis materijala sadrži delove koji se mogu pratiti" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Serijski brojevi" @@ -1070,10 +1071,10 @@ msgstr "Unesi serijske brojeve za izlaz izgradnje" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Lokacija" @@ -1089,8 +1090,8 @@ 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:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "Sledeći serijski brojevi već postoje ili su neispravni" @@ -1222,7 +1223,7 @@ msgstr "Stavka porudžbine za izradu" 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:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "Stavka mora da bude u zalihama" @@ -1299,13 +1300,13 @@ msgstr "BOM ime dela" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "Deo dobavljača" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "Alocirana količina" @@ -1317,7 +1318,7 @@ msgstr "Referenca izgradnje" msgid "Part Category Name" msgstr "Ime kategorije dela" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Može da se prati" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "Dozvoli varijante" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "BOM stavka" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "Alocirane zalihe" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "Po narudžbini" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "U proizvodnji" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "Spoljašnje zalihe" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Dostupne zalihe" @@ -1391,32 +1392,32 @@ msgstr "Otkazano" msgid "Complete" msgstr "Gotovo" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "Potrebne su zalihe za nalog izgranje" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "Prekoračeni nalog za izgradnju" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Nalog za izgradnju {bo} je sada prekoračen" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "je link" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "je datoteka" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "Korisnik nema potrebne dozvole da bi izbrisao ove atačmente" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "Korisnik nema dozvolu da izbriše ovaj atačment" @@ -1436,61 +1437,61 @@ msgstr "Nisu obezbeđeni ispravni kodovi valuta" msgid "No plugin" msgstr "Nema dodataka" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Ažurirano" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Vreme poslednjeg ažuriranja" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Jedinstveni kod projekta" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Opis projekta" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "Korisnik ili grupa odgovorni za ovaj projkat" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "Ključ za podešavanje" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Vrednost podešavanja" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "Izabrana vrednost nije ispravna opcija" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "Vrednost mora da bude boolean tipa" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "Vrednost mora da bude integer tipa" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "Vrednost mora biti broj" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "Vrednost ne prolazi test ispravnosti" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "Tekstualni ključ mora da bude jedinstven" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "Tekstualni ključ mora da bude jedinstven" msgid "User" msgstr "Korisnik" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "Prelomna količina cene" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Cena" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "Cena jedinice za određenu količinu" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Krajnja tačka" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "Krajnja tačka na kojoj je primljen zahtev za izmenu web stranice" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "Ime ovog zahteva za izmenu stranice" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktivan" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "Da li je ovaj zahtev za izmenu aktivan?" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "Token za pristup" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Tajna" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "Deljena tajna za HMAC" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "ID poruke" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "Jedinstveni identifikator za ovu poruku" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "Računar" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "Računar koji je primio ovu poruku" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Zaglavlje" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "Zaglavlje ove poruke" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Telo" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "Telo ove poruke" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "Krajnja tačka na kojoj je ova poruka primljena" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "Radilo se na " -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "Da li je rad sa ovom porukom završen?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "Id" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Naslov" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Link" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Objavljeno" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Autor" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Rezime" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Čitaj" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "Da li je ova stavka vesti pročitana" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Slika" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Datoteka slike" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "Ciljni tip modela za ovu sliku" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "Ciljni ID modela za ovu sliku" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "Posebna jedinica" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "Simbol jedinice mora biti jedinstven" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "Ime jedinice mora da bude ispravan identifikator" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "Ime jedinice" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Simbol" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "Opcioni simbol jedinice" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Definicija" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Definicija jedinice" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Prilog" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Nedostaje datoteka" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Nedostaje eksterni link" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Izaberite datoteku za prilog" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Komentar" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "Komentar priloga" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "Datum učitavanja" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "Datum kada je datoteka učitana" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "Veličina datoteke" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "Veličina datoteke u bajtovima" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "Određen je neispravan tip modela za prilog" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "Posebno stanje" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "Posebna stanja" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "Referentni status podešen" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "Status je podešen i produžen je sa ovim posebnim stanjem" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "Logički ključ" -#: common/models.py:2032 +#: common/models.py:2041 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:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Vrednost" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "Numerička vrednost koja će biti sačuvana u bazi podataka modela" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "Ime stanja" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "Etiketa" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "Etiketa koja će biti prikazana na korisničkoj strani" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "Boja" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "Boja koja će biti prikazana na korisničkoj strani" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "Model" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "Model ovog stanja je povezan sa " -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "Model mora biti izabran" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "Ključ mora biti izabran" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "Logički ključ mora biti izabran" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "Ključ mora da se razlikuje od logičkog ključa" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "Validna referenca statusa klase mora biti dostavljena" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "Ključ mora biti različit od logičkog ključa referentnog statusa" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "Logički ključ mora biti među logičkim ključevima referentnog statusa" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "Naziv mora biti različit od naziva u statusu reference" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "Lista odabira" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "Liste odabira" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "Ime liste odabira" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "Opis liste odabira" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "Zaključano" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "Da li je ova lista odabira zaključana?" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "Da li se ova lista odabira može koristiti?" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "Ekstenzija/dodatak za izvor" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "Ekstenzija koja pruža listu odabira" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "String izvora" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "Opcioni string koji identifikuje izvor koji se koristi za ovu listu" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "Podrazumevani unos" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "Podrazumevani unos za ovu listu odabira" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Kreirano" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "Datum i vreme kada je ova lista odabira kreirana" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Poslednje ažuriranje" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "Datum i vreme kada je ova lista odabira ažurirana" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "Unos liste odabira" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "Unosi liste odabira" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "Lista odabira kojoj ovaj unos pripada" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "Vrednost ovog unosa liste odabira" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "Naziv ovog unosa liste odabira" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "Opis ovog unosa liste odabira" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "Da li je unos ove liste odabira aktivan?" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "Skeniranje bar koda" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Podaci" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "Podaci bar koda" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "Korisnik koji je skenirao bar kod" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "Vremenski trag" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "Datum i vreme skeniranja bar koda" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "URL krajnja tačka kojaj je obradila bar kod" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Kontekst" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "Kontekst podataka za skeniranje bar koda" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "Odgovor" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "Podaci odgovora za skeniranje bar koda" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Rezultat" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "Da li je skeniranje bar koda bilo uspešno?" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Ključ" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "Pokrenuto je" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "Čekaju se zadaci" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Planirani zadaci" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Propali zadaci" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "ID zadatka" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "Jedinstveni ID zadatka" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "Zaključaj" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Vreme zaključavanja" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Naziv zadatka" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Funkcija" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Ime funkcije" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Argumenti" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Argumenti zadatka" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "Ključne reči argumenata" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "Ključne reči argumenata zadatka" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Ime datoteke" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "Tip modela" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "Korisnik nema dozvolu da napravi ili izmeni priloge za ovaj model" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "Lista odabira je zaključana" @@ -2104,1073 +2221,1089 @@ msgstr "Nema grupe" msgid "Site URL is locked by configuration" msgstr "URL sajta je zaključan od strane konfiguracije" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Ponovno pokretanje potrebno" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "Podešavanje je izmenjeno i zahteva ponovno pokretanje servera" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Migracije na čekanju" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "Broj migracija baze podataka koje su na čekanju" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Ime instance servera" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "Stringovni opis instance servera" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Ime instance korisnika" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "Koristi ime instance u naslovnoj liniji" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "Zabrani prikazivanje `O nama`" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "Prikaži `O nama` samo superkorisnicima" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Ime kompanije" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Interno ime kompanije" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "Osnovni URL" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "Osnovni URL za instancu servera" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Podrazumevana valuta" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "Izaberi osnovnu valutu za određivanje cena" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "Podržane valute" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "Lista kodova podržanih valuta" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "Interval ažuriranja valuta" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Koliko često ažurirati devizne kurseve (podesi na nulu za onemogućti)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "dani" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "Dodatak za ažuriranje valute" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "Dodatak za ažuriranje valute koji će se koristiti" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Skini sa URL" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Dozvoli skidanje sa udaljenih lokacija slika i datoteka" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "Ograničenje veličine skidanja" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "Maksimalna dozvoljena veličina slike koja se skida" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "Korisnik-agent koji se koristi za skidanje sa URL" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Dozvoli premošćavanje koji će se korisnik-agent koristiti za skidanje slika i datoteka sa spoljašnjeg URL (ostavi prazno da se podesi kao podrazumevano)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "Stroga validacija URL" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "Traži specifikaciju za validaciju URL-ova" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Ažuriraj interval provere" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "Koliko često da proveravam za nova ažuriranja? (podesi na nulu da bi isključio)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Automatsko pravljenje rezervne kopije" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Omogući automatsko pravljenje rezervne kopije baze podataka i medijskih datoteka" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Automatski interval pravljenja rezervnih kopija" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Odredi broj dana između automatskih pravljenja rezervnih kopija" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "Interval brisanja zadataka" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "Rezultati pozadinskih zadataka biće izbrisani nakon određenog broja dana " -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "Interval brisanja evidencije grešaka" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "Evidencija grešaka biće izbrisana nakon određenog broja dana" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "Interval brisanja obaveštenja" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Korisnička obaveštenja biće izbrisana nakon određenog broja dana" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Podrška za bar kod" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "Omogući podršku za bar kod skener preko interfejsa stranice" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "Uskladišti rezultate bar koda" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "Uskladišti rezultate bar koda u bazu podataka" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "Maksimalan broj skeniranja bar koda" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "Maksimalan broj rezultata skeniranja bar koda koji treba da se skladišti" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "Kašnjenje unosa bar koda" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "Vreme kašnjena obrađivanja ulaza bar koda" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "Podrška za bar kod veb kameru" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "Omogući skeniranje bar koda pomoću veb kamere u pretraživaču" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "Prikaži podatke bar koda" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "Prikaži podatke bar koda u pretraživaču kao tekst" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "Dodatak za generisanje bar koda" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "Dodatak koji će se koristiti kao interni generator podataka bar koda" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "Revizije dela" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "Omogući polje za reviziju dela" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "Jedino revizija sastavljanja " -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "Dozvoli jedino revizije za sastavne delove" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "Dozvoli brisanje iz sastavljanja" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "Dozvoli brisanje delova koji su korišćeni u sastavljanju" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "Interni broj dela regex" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "Regularni obrazac izraza za podudaranje IPN dela" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Dozvoli duple IPN" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "Dozvoli da više delova dele isti IPN" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "Dozvoli izmenu IPN" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "Dozvoli izmenu IPN vrednosti u toku izmene dela" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Kopiraj BOM podatke dela" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "Podrazumevaj kopiranje BOM podataka prilikom pravljenja duplikata dela " -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "Kopiraj podatke parametara dela" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "Podrazumevaj kopiranje podataka parametara dela prilikom pravljenja duplikata dela" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "Kopiraj podatke testiranja dela" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "Podrazumevaj kopiranje podataka testiranja dela prilikom pravljenja duplikata dela" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "Kopiraj šablone parametara kategorije" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "Kopiraj šablone parametara kategorije prilikom pravljenja dela" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Šablon" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "Podrazumevano je da su delovi šabloni" -#: common/setting/system.py:430 +#: common/setting/system.py:443 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:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Komponenta" -#: common/setting/system.py:436 +#: common/setting/system.py:449 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:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Može da se kupi" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "Podrazumevano je da se delovi mogu kupiti" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Može da se proda" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "podrazumevano je da delovi mogu da se prodaju" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "Podrazumevano je da delovi mogu da se prate" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Virtuelni" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Podrazumevano je da su delovi virtuelni" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Prikaži povezane delove" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Prikaži povezane delove za deo" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "Inicijalni podaci zaliha" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "Dozvoli kreiranje inicijalne alihe prilikom dodavanja novog dela" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "Podaci inicijalnog dobavljača" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Dozvoli kreiranje inicijalnog dobavljača prilikom dodavanja novog dela" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Format prikazivanja imena dela" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Format u kome će se prikazivati ime dela" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "Podrazumevana ikona za kategoriju dela" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "Podrazumevana ikona za kategoriju dela (prazno znači bez ikone)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "Zahtevaj jedinice parametara" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "Ako su jedinice date, vrednosti parametara moraju odgovarati datim jedinicama" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "Minimalan broj decimalnih mesta za cene" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Minimalan broj decimalnih mesta prilikom generisanja cenovnih podataka" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "Maksimalan broj decimalnih mesta za cene" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Maksimalan broj decimalnih mesta prilikom generisanja cenovnih podataka" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Koristi cene dobavljača" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Uključi pauziranje cene dobavljača u sveukupnom računanju cene" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Premosti istorijat kupovina" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Prethodne cene narudžbenice zamenjuje pauze cena dobavljača" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "Koristi cene stavki u zalihama" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Koristi cene koje su ručno unete u podatke zaliha" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "Godina cena stavki u zalihama" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Odstrani stavke zaliha iz kalkulacija cena, koje su starije od ovog broja dana" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "Koristi drugačije cene" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "Uključi drugačije cene u sveukupnim kalkulacijama cene" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "Samo aktivne varijante" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "Koristi samo aktivne varijante za određivanje varijante cene" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "Vremenski period za ponovno određivanje cena" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "Broj dana koji treba da prođe da bi se cene delova automatski ažurirale" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Interne cene" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "Omogući interne cene za delove" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Premošćavanje internih cena" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "Ako su dostupne, interne cene premošćuju kalkulacije opsega cena" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Omogući štampanje etiketa" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Omogući štampanje etiketa preko web interfejsa" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "DPI slike etikete" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "DPI rezolucija prilikom generisanja slikovne datoteke za dodatak koji štampa etikete" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Omogući izveštaje" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Omogući generisanje izveštaja" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Mod otklanjanja grešaka" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "Generiši izveštaje u modu za otklanjanje grešaka (izlaz je u HTML)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "Greške evidencije izveštaja" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "Greške evidentiranja koje se dese prilikom generisanja izveštaja" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Veličina stranice" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Podrazumevana veličina strane za izveštaje u PDF formatu" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "Globalno jedinstveni serijski brojevi" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "Serijski brojevi za stavke zaliha moraju da budu globalno jedinstveni" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "Obriši ispražnjene zalihe" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "Ovo određuje podrazumevano ponašanje kada je stavka zaliha istrošena" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "Šablon koda serije" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "Šablon za generisanje podrazumevanih kodova serije stavki u zalihama" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "Datum isteka zaliha" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "Omogući funkcionalnost isteka zaliha" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "Prodaja isteklih zaliha" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "Dozvoli prodaju isteklih zaliha" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "Vreme zastarevanja zaliha" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "Broj dana tokom kojih će se stavke zaliha smatrati zastarelim pre isteka" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "Izrada sa isteklim zalihama" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "Dozvoli izradu sa isteklim zalihama" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "Vlasnička kontrola zaliha" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "Omogući vlasničku kontrolu nad lokacijama zaliha i stavkama" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "Podrazumevana ikonica lokacije zaliha" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "Podrazumevana ikonica lokacije zaliha (prazno znači da nema ikonice)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "Prikaži instalirane stavke sa zaliha" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "Prikaži instalirane stavke sa zaliha u stok tabelama" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "Proveri spisak materijala pri instalaciji stavki" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Instalirane stavke sa zaliha moraju postojati u spisku materijala nadređenog dela" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "Dozvoli transfer van zaliha" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Dozvoli da stavke sa zaliha koje nisu na zalihama budu premeštane između lokacija zaliha" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "Referentni šablon naloga za izradu" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Potreban šablon za generisanje referentnog polja naloga za izradu" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "Potreban odgovoran vlasnik" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "Odgovoran vlasnik mora biti dodeljen svakom nalogu" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "Potreban aktivan deo" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "Spreči kreiranje naloga za izradu za neaktivne delove" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "Potreban zaključan deo" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "Spreči kreiranje nalogaza izradu za otključane delove" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "Potreban validan spisak materijala" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "Spreči kreiranje naloga za izradu pre validacije spiska materijala" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "Potrebno završavanje podređenih naloga" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "Spreči završavanje naloga za izradu pre završavanja svih podređenih naloga" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "Blokiraj dok ne prođe test" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Spreči završavanje naloga za izradu pre uspešnog završetka svih testova" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "Omogući naloge za vraćanje" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "Omogući funkcionalnost vraćana u korisničkom interfejsu" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "Referentni šablon naloga za vraćanje" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "Potreban šablon pri generisanju referentnog polja naloga za vraćanje" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "Izmeni završene naloge za vraćanje" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "Dozvoli izmenu naloga za vraćanje nakon što su završeni" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "Referentni šablon naloga za prodaju" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "Potreban šablon pri generisanju referentnog polja naloga za prodaju" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "Podrazumevana isporuka naloga za prodaju" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "Omogućava kreiranje podrazumevane isporuke sa nalozima za prodaju" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "Izmeni završene naloge za prodaju" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Dozvoli izmenu naloga za prodaju nakon što su isporučeni ili završeni" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "Označi isporučene naloge kao završene" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Nalozi za prodaju označeni kao isporučeni će automatski biti završeni, zaobilazeći status isporučen" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "Referentni šablon naloga za kupovinu" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "Potreban šablon pri generisanju referentnog polja naloga za kupovinu" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "Izmeni završene naloge za kupovinu" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Dozvoli izmenu naloga za kupovinu nakon što su isporučeni ili završeni" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "Automatski završi naloge za kupovinu" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Automatski označi naloge za kupovinu kao završene kada su primljene sve stavke porudžbine" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Omogući zaboravljenu lozinku" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Omogući funkcionalnost zaboravljene lozinke na stranicama za prijavljivanje" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Omogući registraciju" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Omogući registraciju korisnicima na stranicama za prijavljivanje" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "Omogući SSO" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "Omogući SSO na stranicama za prijavljivanje" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "Omogući SSO registraciju" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Omogući registraciju preko SSO za korisnike na stranicaa za prijavljivanje" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "Omogući SSO sinhronizaciju grupa" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "Omogući sinhronizaciju grupa aplikacije sa grupama IdP-a" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "SSO ključ grupe" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "Nazivi grupa dobijaju atribute od IdP-a" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "Mapiranje SSO grupa" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "Mapiranje SSO grupa u lokalne grupe aplikacije. Ukoliko lokalna grupa ne postoji, biće kreirana." -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "Ukloni grupe van SSO" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "Da li će grupe dodeljene korisnicima biti uklonjene ukoliko nisu podržane IdP-om. Onemogućavanje ovoga može dovesti do problema." -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "Email neophodan" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "Zahtevaj od korisnika da dostavi mejl prilikom registracije" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "Automatski popuni SSO korisnike" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "Automatski popuni korisnikove podatke iz SSO naloga" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "Email dva puta" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "Pitaj korisnika dva puta za email prilikom registracije" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Lozinka dva puta" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "Pitaj korisnika dva puta za lozinku prilikom registracije" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Dozvoljeni domeni" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Ograniči registraciju na određene domene (razdvojeni zapetom, počinju sa @)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Grupa pri registrovanju" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "Grupa kojoj se novi korisnici dodeljuju pri registraciji. Ukoliko je SSO group sync omogućen, ova grupa će se dodavati ukoliko korisnik ne može da dobije grupu iz IdP-a." -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "Nametni MFA" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "Korisnici moraju koristiti multifaktorsku bezbednost" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "Proveri plugine pri pokretanju" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Proveri da li su svi pluginovi instalirani pri pokretanju - omogućeni u kontejnerskim okruženjima" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "Proveri ažuriranja pluginova" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "Omogući periodično proveranje pluginova" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "Omogući URL integraciju" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "Omogući da pluginovi dodaju URL rute" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "Omogući integraciju u navigaciju" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "Omogući integraciju pluginova u navigaciju" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "Omogući integraciju aplikacija" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "Omogući pluginovima da dodaju aplikacije" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "Omogući integraciju planiranja" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "Omogući da plugini izvršavaju planirane zadatke" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "Omogući integraciju događaja" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "Omogući da plugini odgovaraju na unutrašnje događaje" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "Omogući integraciju interfejsa" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "Omogući integraciju pluginova u korisnički interfejs" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "Funkcionalnost popisa" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Omogući funkcionalnost popisa za praćenje nivoa zaliha i računanje vrednosti zaliha" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "Ne uključuj eksterne lokacije" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Ne uključuj stavke sa zaliha na eksternim lokacijama u proračune popisa" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "Period automatskog popisa" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Broj dana između automatskih beleženja popisa (postaviti na nulu za isključivanje ove mogućnosti)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "Interval brisana izveštaja" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Izveštaji o popisu će biti obrisani nakon određenog broja dana" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "Prikaži puna imena korisnika" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "Prikaži puna imena korisnika umesto korisničkih imena" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "Omogući podatke test stanica" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "Omogući prikupljanje podataka sa test stanica radi rezultata testova" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "Kreiraj šablon pri dodavanju" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "Kreiraj novi test šablon prilikom dodavanja test podataka koji se ne poklapa sa postojećim šablonom" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "Željeni format za prikazivanje datuma" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Raspoređivanje dela" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "Prikaži informacije o raspoređivanju dela" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "Popis dela" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Prikazuj informacije o popisu dela (ukoliko je omogućena funkcionalnost popisa)" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "Primaj izveštaje o greškama" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "Primaj notifikacije za sistemske greške" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "Poslednje korišćene mašine za štampanje" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "Sačuvaj poslednju korišćenu mašinu za štampanje za korisnika" @@ -3499,13 +3624,13 @@ msgstr "Interni deo je aktivan" msgid "Supplier is Active" msgstr "Dobavljač je aktivan" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Proizvođač" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Kompanija" @@ -3513,331 +3638,331 @@ msgstr "Kompanija" msgid "Has Stock" msgstr "Ima zalihe" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Kompanije" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Opis kompanije" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "Opis kompanije" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Vebsajt" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "Vebsajt kompanije" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Broj telefona" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Broj telefona kontakta" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Email adresa kontakta" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Kontakt" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "Osoba za kontakt" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "Link ka eksternim informacijama o kompaniji" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "Da li je ova kompanija aktivna?" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "Je mušterija" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "Da li prodajete stavke ovoj kompaniji?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "Je dobavljač" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "Da li kupujete stavke od ove kompanije?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "Je proizvođač" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "Da li ova kompanija proizvodi delove?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "Podrazumevana valuta za ovu kompaniju" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Adrese" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Adrese" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Izaberi kompaniju" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "Naslov adrese" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "Naslov koji opisuje adresu" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Primarna adresa" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Postavi kao primarnu adresu" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "Telefon 1" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "Adresa 1" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "Telefon 2" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "Adresa 2" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Poštanski broj" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Grad/region" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "Poštanski broj" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "Država/provincija" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "Država ili provincija" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "Zemlja" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "Adresa zemlje" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "Beleške za kurira" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "Beleške za kurira" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "Interne beleške o isporuci" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "Beleške o isporuci za internu upotrebu" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "Link za adresne informacije (eksterni)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Deo proizvođača" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Osnovni deo" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Izaberi deo" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Izaberi proizvođača" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "Broj dela proizvođača" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Broj dela proizvođača" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "URL za link eksternog dela proizvođača" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "Opis dela proizvođača" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "Parametar dela proizvođača" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Naziv parametra" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Vrednost parametra" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Jedinice" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Jedinice parametra" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "Jedinice pakovanja moraju biti kompatibilne sa osnovnim jedinicama dela" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "Jedinice pakovanja moraju biti veće od nule" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "Povezani delovi dobavljača moraju referencirati isti osnovni deo" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Dobavljač" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Izaberi dobavljača" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "Jedinica za držanje dobavljačevih zaliha" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "Da li je ovaj deo dobavljača aktivan?" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Izaberi deo proizvođača" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "URL za link dela eksternog dobavljača" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "Opis dela dobavljača" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Beleška" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "osnovni trošak" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimalna naplata (npr. taksa za slaganje)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Pakovanje" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "Pakovanje delova" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "Količina pakovanja" -#: company/models.py:858 +#: company/models.py:891 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:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "više" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "Naruči više" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "Količine dostupne od dobavljača" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "Dostupnost ažurirana" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "Datum poslednjeg ažuriranja podataka o dostupnosti" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "Smanjenje cene dobavljača" @@ -3853,7 +3978,7 @@ msgstr "Podrazumevana valuta koja se koristi za ovog dobavljača" msgid "Company Name" msgstr "Naziv kompanije" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "Na zalihama" @@ -3889,10 +4014,6 @@ msgstr "Dodatne statusne informacije za ovu stavku" msgid "Custom status key" msgstr "Prilagođen ključ statusa" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Ključ" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "Prilagođeno" @@ -3997,7 +4118,7 @@ msgstr "Originalni podaci vrste" msgid "Errors" msgstr "Greške" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "Važeće" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "Referenca naloga" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Status" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "Količina mora biti pozitivan broj" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "Primljeno" msgid "Number of items received" msgstr "Broj primljenih stavki" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "Kupovna cena" @@ -4850,11 +4971,11 @@ msgstr "Spoj stavke" msgid "Merge items with the same part, destination and target date into one line item" msgstr "Spoj stavke sa istim delom, odredištem i ciljanim datumom u jednu stavku porudžbine" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "Jedinica za praćenje zaliha" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "Interni broj dela" @@ -5046,130 +5167,114 @@ msgstr "Refundiraj" msgid "Reject" msgstr "Odbij" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "Istekli nalozi za kupovinu" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Nalog za kupovinu {po} je sada istekao" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "Istekli nalozi za prodaju" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Nalog za prodaju {so} je sada istekao" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "Označeno zvezdicom" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "Filtiraj po kategorijama označenim zvezdicom" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "Dubina" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "Filtriraj po dubini kategorije" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "Vrhovni" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "Filtriraj po vrhovnim kategorijama" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "Kaskadno" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "Uključi pod-kategorije u filtriranim rezultatima" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "Nadređen" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "Filtriraj po nadređenoj kategoriji" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "Ne uključuj pod-kategorije pod specifičnom kategorijom" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "Ima rezultate" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "Dolazeći nalozi za kupovinu" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "Odlazeći nalozi za prodaju" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "Zalihe proizvedene od strane naloga za izradu" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "Zalihe potrebne za nalog za izradu" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "Validiraj ceo spisak materijala" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "Ova opcija mora biti selektovana" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "Je revizija" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "Ima revizije" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "Spisak materijala validan" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "Deo sklopa se može testirati" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "Deo komponente se može testirati" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "Koristi" @@ -5219,7 +5324,7 @@ msgstr "Ikonica (opciono)" 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:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Delovi" @@ -5335,7 +5440,7 @@ msgstr "Ključne reči dela da bi se poboljšala vidljivost u rezultatima pretra msgid "Part category" msgstr "Kategorija dela" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "Interni broj dela" @@ -5344,7 +5449,7 @@ msgstr "Interni broj dela" msgid "Part revision or version number" msgstr "Revizija dela ili broj verzije" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Revizija" @@ -5376,7 +5481,7 @@ msgstr "Podrazumevani istek" 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:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Minimalne zalihe" @@ -5612,7 +5717,7 @@ msgstr "Broj individualnih unosa zaliha u vreme popisa" msgid "Total available stock at time of stocktake" msgstr "Ukupne dostupne zalihe za vreme popisa" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Datum" @@ -5713,7 +5818,7 @@ msgstr "Opis testa" msgid "Enter description for this test" msgstr "Unesi opis za ovaj test" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Omogućen" @@ -5977,359 +6082,351 @@ msgstr "Rezultati" msgid "Number of results recorded against this template" msgstr "Broj rezultata napravljenih na osnovu ovog šablona" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "Valuta kupovine za ovu stavku sa zaliha" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "Spekulativna količina" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "ID modela" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "Broj delova koji koriste ovaj šablon" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "Originalni deo" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "Izaberi originalni deo za duplikaciju" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Kopiraj sliku" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "Kopiraj sliku sa originalnog dela" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "Kopiraj spisak materijala" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "Kopiraj spisak materijala sa originalnog dela" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "Kopiraj parametre" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "Kopiraj parametarske podatke sa originalnog dela" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "Kopiraj beleške" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "Kopiraj beleške sa originalnog dela" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "Inicijalna količina zaliha" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Odredi inicijalnu količinu zaliha za ovaj deo. Ukoliko je količina nula, neće biti dodate zalihe." -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "Inicijalna lokacija zaliha" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "Odredi inicijalnu lokaciju zaliha za ovaj deo" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "Izaberi dobavljača (ostavi prazno za preskakanje)" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "Izaberi proizvođača (ostavi prazno za preskakanje)" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "Broj dela proizvođača" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "Izabrana kompanija nije validan dobavljač" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "Izabrana kompanija nije validan proizvođač" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "Deo proizvođača koji se poklapa sa ovim brojem dela proizvođača već postoji" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "Deo dobavljača koji se opklapa sa ovim brojem dela dobavljača već postoji" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Naziv kategorije" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "Izrađivanje" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Stavke sa zaliha" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "Revizije" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Dobavljači" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Ukupne zalihe" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "Nealocirane zalihe" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "Varijante zaliha" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "Dupliraj deo" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "Kopiraj inicijalne podatke od drugog dela" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "Početne zalihe" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "Kreiraj deo sa početnom količinom zaliha" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "Informacije o dobavljaču" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "Dodaj inicijalne informacije o dobavljaču za ovaj deo" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "Kopiraj parametre kategorije" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "Kopiraj parametarske šablone sa izabrane kategorije dela" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "Postojeća slika" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "Ime fajla postojeće slike dela" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "Fajl sa slikom ne postoji" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "Može se izgraditi" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Ograniči izveštaj o popisu na određeni deo, kao i na bilo koje varijante delova" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Ograniči izveštaj o popisu na određenu kategoriju dela, kao i na bilo koje podređene kategorije" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Ograniči izveštaj o popisu na određenu lokaciju zaliha, kao i na bilo koje podređene lokacije" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "Ne uključuj eksterne zalihe" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "Ne uključuj stavke sa zaliha u eksternim lokacijama" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Generiši izveštaj" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "Generiši izveštaj koji sadrži sračunate podatke sa popisa" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "Ažuriraj delove" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "Ažuriraj izabrane delove sračunatim podacima popisa" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "Funkcionalnost popisa nije omogućena" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Provera pozadinskog radnika nije uspjela" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Minimalna cena" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "Izmeni izračunatu vrednost za minimalnu cenu" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "Minimalna valuta cene" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Maksimalna cena" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "Izmeni izračunatu vrednost maksimalne cene" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "Maksimalna valuta cene" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Ažuriraj" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "Ažuriraj cene za ovaj deo" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Nija moguća konverzija iz dostavljen valute u {default_currency}" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "Minimalna cena ne sme biti veća od maksimalne cene" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "Maksimalna cena ne sme biti manja od minimalne cene" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "Izaberi nadređeni sklop" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "Izaberi komponentu dela" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "Izaberi deo sa kog će se kopirati spisak materijala" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "Ukloni postojeće podatke" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "Ukloni postojeće stavke sa spiska materijala pre kopiranja" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "Uključi nasleđeno" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "Uključi stavke sa spiska materijala koje su nasleđene od šablonskih delova" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "Preskoči nevažeće vrste" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "Omogući ovu opciju za preskakanje nevažećih vrsta" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "Kopiraj zamenske delove" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopiraj zamenske delove prilikom duplikacije stavki sa spiska materijala" @@ -6651,8 +6748,8 @@ msgstr "Pruža ugrađenu podršku za bar kodove" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "Ljudi koji doprinose" @@ -6979,7 +7076,7 @@ msgstr "Border" msgid "Print a border around each label" msgstr "Štampa border oko svakog natpisa" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "Lendskejp" @@ -7011,51 +7108,51 @@ msgstr "Natpis je prevelik za veličinu stranice" msgid "No labels were generated" msgstr "Nijedan natpis nije generisan" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "Integracija dobavljača - DigiKey" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "Pruža podršku za skeniranje DigiKey bar kodova" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "Dobavljač koji se ponaša kao 'DigiKey'" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "Integracija dobavljača - LCSC" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "Pruža podršku za skeniranje LCSC bar kodova" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "Dobavljač koji se ponađa kao 'LCSC'" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "Integracija dobavljača - Mouser" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "Pruža podršku za skeniranje Mouser bar kodova" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "Dobavljač koji se ponaša kao 'Mouser'" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "Integracija dobavljača - TME" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "Pruža podršku za skeniranje TME bar kodova" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "Dobavljač koji se ponaša kao 'TME'" @@ -7160,21 +7257,21 @@ msgstr "Plugin" msgid "Method" msgstr "Metod" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "Nije pronađen autor" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Plugin '{p}' nije kompatibilan sa trenutnom verzijom aplikacije {v}" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Plugin zahteva najmanje verziju {v}" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Plugin zahteva najviše verziju {v}" @@ -7203,11 +7300,11 @@ msgstr "Numeričko" msgid "A numerical setting" msgstr "Numeričko podešavanje" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "Izaberi podešavanje" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "Podešavanje sa više izbora" @@ -7355,43 +7452,43 @@ msgstr "Skupi plugine" msgid "Collect plugins and add them to the registry" msgstr "Skupi plugine i dodaj ih u registar" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "Aktiviraj plugin" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "Aktiviraj ovaj plugin" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "Obriši konfiguraciju" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "Obriši konfiguraciju plugina iz baze podataka" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "Stavke" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "Plugin nije pronađen" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "Plugin nije aktivan" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "Plugin ne podržava štampanje natpisa" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "Nevažeće dimenzije natpisa" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "Nema važećih stavki dostavljenih šablonu" @@ -7415,132 +7512,140 @@ msgstr "Letter" msgid "Template file with this name already exists" msgstr "Šablonski fajl sa ovim imenom već postoji" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "Ime šablona" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "Opis šablona" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "Broj revizija (auto-inkrement)" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "Priloži kao model uz štampanje" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "Sačuvaj izveštaj kao prilog uz uvezanu instancu modela prilikom štampanja" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "Šablon imena fajlova" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "Šablon za generisanje imena fajlova" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "Šablon je omogućen" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "Tip ciljanog modela za šablon" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Filteri" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "Filteri upita nad šablonima (lista razdvojena zarezom ključ=vrednost parova)" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "Šablonski fajl" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "Veličina strane za PDF izveštaje" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "Renderuj izveštaj u landscape orijentaciji" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Širina (u milimetrima)" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "Širina natpisa, u milimetrima" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Visina (u milimetrima)" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "Visina natpisa, u milimetrima" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "Isečak" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "Izveštaj isečka fajla" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "Opis isečka fajla" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "Sredstvo" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "Izveštaj fajla sredstva" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "Opis fajla sredstva" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "Izaberi šablon izveštaja" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "Spisak primarnih ključeva stavke koje će biti uključene u ovaj izveštaj" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "Izaberi šablon natpisa" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "Plugin za štampanje" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "Izaberi plugin za korišćenje prilikom štampanja natpisa" @@ -7567,6 +7672,8 @@ msgstr "Materijali neophodni" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "Ukupno" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "Serija" msgid "Stock location items" msgstr "Stavke na lokaciji zaliha" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Izveštaj sa testa za stavku sa zaliha" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "Instalirane stavke" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Serijski" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Rezultati testa" @@ -7647,15 +7767,6 @@ msgstr "Nema rezultata (neophodno)" msgid "No result" msgstr "Nema rezultata" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "Instalirane stavke" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Serijski" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "Fajl ne postoji" @@ -7672,123 +7783,123 @@ msgstr "part_image tag zahteva instancu dela" msgid "company_image tag requires a Company instance" msgstr "company_image tag zahteva instancu kompanije" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "Filtriraj po dubini lokacije" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "Filtriraj po nadređenim lokacijama" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "Uključi podlokacije u filtriranim rezultatima" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "Nadređena lokacija" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "Filtriraj po nadređenoj lokaciji" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "Ime dela" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "Ime dela sadrži" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "Ime dela (regex)" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "Interni deo broja" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "Interni deo broja sadrži (osetljivo na velika i mala slova)" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "Interni broj dela (regex)" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "Minimalne zalihe" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "Maksimalne zalihe" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "Statusni kod" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "Eksterna lokacija" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "Potrošeno od strane naloga za izradu" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "Instalirano u drugu stavku sa zaliha" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "Stablo dela" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "Ažurirano pre" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "Ažurirano nakon" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "Popis pre" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "Popis nakon" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "Datum isteka pre" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "Datum isteka nakon" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "Zastarelo" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "Količina je neophodna" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "Validan deo mora biti dosavljen" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "Dati dobavljač ne postoji" -#: stock/api.py:1029 +#: stock/api.py:1048 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:1056 +#: stock/api.py:1080 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" @@ -7897,7 +8008,7 @@ msgstr "Izaberi odgovarajući deo dobavljača za ovu stavku sa zaliha" msgid "Where is this stock item located?" msgstr "Gde je locirana ova stavka sa zaliha?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "Pakovanje u kom je ova stavka sa zaliha" @@ -7913,7 +8024,7 @@ msgstr "Da li je ova stavka instalirana u drugu stavku?" msgid "Serial number for this item" msgstr "Serijski broj za ovu stavku" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "Šifra ture za ovu stavku sa zaliha" @@ -7969,136 +8080,136 @@ msgstr "Cena kupovine jedne jedinice u vreme kupovine" msgid "Converted to part" msgstr "Konvertovano u deo" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "Deo nije postavljen kao deo koji je moguće pratiti" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "Količina mora biti ceo broj" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Količina ne sme da pređe dostupnu količinu zaliha ({self.quantity})" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "Serijski brojevi moraju biti dostavljeni kao lista" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "Količine se ne poklapaju sa serijskim brojevima" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "Test šablon ne postoji" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "Stavka sa zaliha je dodeljena nalogu za prodaju" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "Stavka sa zaliha je instalirana u drugu stavku" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "Stavka sa zaliha sadrži druge stavke" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "Stavka sa zaliha je dodeljena mušteriji" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "Stavka sa zaliha je trenutno u produkciji" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "Serijalizovane zalihe se ne mogu spojiti" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "Dupliraj stavke sa zaliha" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "Stavke sa zaliha se moraju odnositi na isti deo" -#: stock/models.py:1921 +#: stock/models.py:1934 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:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "Statusne šifre zaliha moraju da se poklapaju" -#: stock/models.py:2196 +#: stock/models.py:2209 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:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "Praćenje stavke sa zaliha" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "Ulazne beleške" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "Rezultat testa stavke sa zaliha" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "Vrednost mora biti dostavljena za ovaj test" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "Prilog mora biti dostavljen za ovaj test" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "Nevažeća vrednost za ovaj test" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Rezultat testa" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "Vrednost završetka testa" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "Prilog uz test rezultat" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "Beleške sa testa" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "Stanica za testiranje" -#: stock/models.py:2841 +#: stock/models.py:2854 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:2847 +#: stock/models.py:2860 msgid "Started" msgstr "Započeto" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "Vreme početka testa" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "Završeno" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "Vreme završetka testa" @@ -8170,201 +8281,201 @@ msgstr "Nadređena stavka sa zaliha" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Koristi pakovanja prilikom dodavanja: količina je definisana brojem pakovanja" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "Dobavljački broj dela" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "Isteklo" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "Podređene stavke" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "Stavke za praćenje" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "Nabavna cena ove stavke, po jedinici ili pakovanju" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "Unesi broj stavka sa zaliha za serijalizaciju" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Količina ne sme da pređe dostupnu količinu zaliha ({q})" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "Unesi serijske brojeve za nove stavke" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "Odredišna lokacija zaliha" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "Opciona beleška" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "Serijski brojevi ne mogu biti dodeljeni ovom delu" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "Serijski broj već postoji" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "Izaberi stavku za instaliranje" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "Količina za instaliranje" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "Izaberi količinu stavki za instaliranje" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "Dodaj beleške transakcija (opciono)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "Količina za instaliranje mora biti najmanje 1" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "Stavka je nedostupna" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "Izabrani deo nije na spisku materijala" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "Količina za instaliranje ne sme preći dostupnu količinu" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "Odredišna lokacija za deinstalirane stavke" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "Izaberi deo u koji će se konvertovati stavka" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "Izabrani deo nije validna opcija za konverziju" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Ne može se konvertovati stavka sa dodeljenim delom dobavljača" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "Statusni kod stavke sa zaliha" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "Odredišna lokacija za vraćene stavke" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "Izaberi stavke kojoj će se promeniti status" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "Nije izabrana stavka" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Podlokacije" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "Lokacija nadređenih zaliha" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "Deo mora biti za prodaju" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "Stavka je alocirana nalogu za prodaju" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "Stavka je alocirana nalogu za izradu" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "Mušterija kojoj će se dodeliti stavke sa zaliha" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "Izabrana kompanija nije mušterija" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "Beleške dodeljivanja zaliha" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "Lista stavki mora biti dostavljena" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "Beleške spajanja zaliha" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "Dozvoli neslagajuće dobavljače" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "Dozvoli spajanje stavki sa različitim delovima dobavljača" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "Dozvoli neslagajući status" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "Dozvoli spajanje stavki sa različitim statusnim kodovima" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "Bar dve stavke moraju biti dostavljene" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "Nema promena" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "Vrednost primarnog ključa stavke" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "Stavka nije na zalihama" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "Beleške transakcija zaliha" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index 9ca8c53bb5..fe92f6e600 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "Du måste aktivera tvåfaktorsautentisering innan du kan göra något annat." -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API-slutpunkt hittades inte" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Användaren har inte behörighet att se denna modell" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Anteckningar" @@ -356,7 +356,7 @@ msgstr "Kinesiska (Traditionell)" msgid "Log in to the app" msgstr "Logga in på appen" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "E-postadress" @@ -408,19 +408,19 @@ msgstr "" msgid "Invalid choice" msgstr "Ogiltigt val" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Namn" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Beskrivning" msgid "Description (optional)" msgstr "Beskrivning (valfritt)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Sökväg" @@ -479,11 +479,11 @@ msgstr "Ett fel har loggats av servern." msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Välj valuta från tillgängliga alternativ" @@ -527,29 +527,29 @@ msgstr "Överskott får inte överstiga 100%" msgid "Invalid value for overage" msgstr "Ogiltigt värde för överskott" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Orderstatus" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Föregående tillverkning" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Kategori" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Utfärdad av" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "Tilldelad till" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "Skapad före" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "Skapad efter" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "Har startdatum" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "Tillverkningen måste avbrytas innan den kan tas bort" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Valfri" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Spårad" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Testbar" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Allokerad" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Tillgänglig" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Tillverkning statuskod" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Batchkod" @@ -854,7 +854,7 @@ msgstr "Utfärdad av" msgid "User who issued this build order" msgstr "Användare som utfärdade denna tillverknings order" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "Extern länk" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Länk till extern URL" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Projektkod" @@ -903,51 +903,50 @@ msgstr "Tillverknings order {build} har slutförts" msgid "A build order has been completed" msgstr "En tillverknings order har slutförts" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Ingen byggutgång angiven" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Byggutgång är redan slutförd" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Antal" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Antal måste vara 1 för serialiserat lager" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Artikel i lager" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Källa lagervara" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Lagersaldo att allokera för att bygga" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Installera till" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Destination lagervara" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Serienummer" @@ -1070,10 +1071,10 @@ msgstr "Ange serienummer för att tillverkade produkter" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Plats" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "Avbruten" msgid "Complete" msgstr "Slutför" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "Är länk" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "Är fil" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Unik projektkod" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Projektbeskrivning" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "Användare" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktiv" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Länk" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Bild" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Bilaga" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Saknad fil" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Extern länk saknas" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Välj fil att bifoga" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Kommentar" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "Filstorlek" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "Etikett" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "Färg" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Skapad" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Senast uppdaterad" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "Streckkodsdata" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Schemalagda uppgifter" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Filnamn" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "Ingen grupp" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Omstart krävs" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Serverinstans (Namn)" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Företagsnamn" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Internt företagsnamn" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "Bas-URL" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "Bas-URL för serverinstans" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Standardvaluta" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "dagar" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Ladda ner från URL" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Tillåt nedladdning av bilder och filer från extern URL" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Stöd för streckkoder" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Mall" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Virtuell" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Delar är virtuella som standard" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Visa relaterade delar" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Visa relaterade delar för en del" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Visningsformat för delnamn" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Formatera för att visa artikelnamnet" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Interna priser" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Aktivera etikettutskrift" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Aktivera etikettutskrift från webbgränssnittet" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "Etikettbild DPI" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Aktivera rapporter" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Aktivera generering av rapporter" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Debugläge" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Sidstorlek" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Standard sidstorlek för PDF-rapporter" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Förhindra produktion från att slutföras tills alla nödvändiga tester är klara" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Aktivera registrering" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Tillåtna domäner" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Tillverkare" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Företag" @@ -3513,331 +3638,331 @@ msgstr "Företag" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Företag" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Företagsbeskrivning" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Webbplats" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Telefonnummer" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Kontakt" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "Är kund" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "Är leverantör" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "Är tillverkare" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Adress" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Adresser" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Välj företag" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Primär adress" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "Adressrad 1" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "Adressrad 2" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Postnummer" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "Land" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Leverantör" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Välj leverantör" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "Företagsnamn" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "I lager" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Status" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "Återbetala" msgid "Reject" msgstr "Avvisa" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "Ikon (valfritt)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Artiklar" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Datum" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Kopiera bild" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Kategorinamn" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Leverantörer" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Generera rapport" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Kontroll av bakgrundsarbetare misslyckades" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Uppdatera" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "Statuskod" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index 8436e8ba11..9382e1eb95 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "ไม่พบ API endpoint" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "หมายเหตุ" @@ -356,7 +356,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "อีเมล" @@ -408,19 +408,19 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "ชื่อ" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "คำอธิบาย" msgid "Description (optional)" msgstr "" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "" @@ -479,11 +479,11 @@ msgstr "" msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "สกุลเงิน" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "" @@ -527,29 +527,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "" @@ -854,7 +854,7 @@ msgstr "ออกโดย" msgid "User who issued this build order" msgstr "" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "จำนวนต้องมีค่ามากกว่า 0" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "สถานที่" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "ยกเลิกแล้ว" msgid "Complete" msgstr "สำเร็จแล้ว" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "ผู้ใช้งาน" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "ลิงก์" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "ไฟล์แนบ" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "ไม่พบไฟล์" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "เลือกไฟล์ที่ต้องการแนบ" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "ความคิดเห็น" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "ชื่อไฟล์" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3513,331 +3638,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "สถานะ" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "ชิ้นส่วน" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 56b1991460..59f562763f 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "Başka bir şey yapmadan önce iki faktörlü kimlik doğrulamayı etkinleştirme gerekir." -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API uç noktası bulunamadı" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "Toplu işlem için öge veya filtre listesi sağlanmalıdır" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "Ögeler bir liste olarak sağlanmalıdır" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "Geçersiz ögeler listesi sağlandı" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "Filtreler bir sözlük olarak sağlanmalıdır" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "Geçersiz filtreler sağlandı" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "Tüm filtre yalnızca true ile kullanılmalıdır" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "Sağlanan ölçüte uygun bir eşleşme yok" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Kullanıcının bu modeli görüntüleme izni yok" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "Geçersiz ondalık değer" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Notlar" @@ -158,7 +158,7 @@ msgstr "Seri numarası bulunamadı" #: InvenTree/helpers.py:723 #, python-brace-format msgid "Number of unique serial numbers ({n}) must match quantity ({q})" -msgstr "Benzersiz seri numaralarının sayısı ({n}) girilen miktarla eşleşmeli ({q})" +msgstr "Benzersiz seri numaralarının sayısı ({n}) miktarla eşleşmeli ({q})" #: InvenTree/helpers.py:841 msgid "Remove HTML tags from this value" @@ -356,7 +356,7 @@ msgstr "Çince (Geleneksel)" msgid "Log in to the app" msgstr "Uygulamaya giriş yapın" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "E-posta" @@ -408,19 +408,19 @@ msgstr "Aynı kaynak altında birden fazla aynı isim kullanılamaz" msgid "Invalid choice" msgstr "Geçersiz seçim" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Adı" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Açıklama" msgid "Description (optional)" msgstr "Açıklama (isteğe bağlı)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Yol" @@ -479,11 +479,11 @@ msgstr "Bir hafta sunucu tarafından kayıt edildi." msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Para birimi" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Var olan seçeneklerden bir döviz birimi seçin" @@ -527,29 +527,29 @@ msgstr "Fazlalık %100'ü geçmemelidir" msgid "Invalid value for overage" msgstr "Aşım için geçersiz değer" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Sipariş Durumu" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Üst Yapım İşi" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "Varyantları Dahil Et" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "Varyantları Dahil Et" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "Varyantları Dahil Et" msgid "Part" msgstr "Parça" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Kategori" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "Ata Yapım" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "Bana atandı" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Veren" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "Atanılan Kişi" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "Daha önce oluşturuldu" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "Sonra oluşturuldu" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "Başlangıç tarihi var" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "Başlangıç tarihi önce" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "Başlangıç tarihi sonra" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "Hedef tarihi var" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "Hedef tarihi önce" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "Hedef tarihi sonra" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "Daha önce tamamlandı" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "Sonra tamamlandı" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "En yakın tarih" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" -msgstr "Max. Tarih" +msgstr "Maksimum Tarih" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "Ağacı Hariç Tut" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "Yapımın silinebilmesi için önce iptal edilmesi gerekir" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Sarf Malzemesi" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "İsteğe Bağlı" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Montaj" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "İzlenen" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Test Edilebilir" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "Ödenmemiş Sipariş" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Ayrıldı" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Mevcut" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -712,7 +712,7 @@ msgstr "Üst yapım için geçersiz seçim" #: build/models.py:198 msgid "Build orders can only be externally fulfilled for purchaseable parts" -msgstr "Satın alınabilir parçaların yapım emirleri yalnızca harici olarak yapılabilir" +msgstr "Satın alınabilir parçaların yapım emirleri yalnızca harici olarak yerine getirilebilir" #: build/models.py:205 order/models.py:364 msgid "Responsible user or group must be specified" @@ -774,7 +774,7 @@ msgstr "Harici Yapım" #: build/models.py:300 msgid "This build order is fulfilled externally" -msgstr "Bu yapım emri harici olarak yapılmıştır" +msgstr "Bu yapım emri harici olarak yerine getirilmiştir" #: build/models.py:305 msgid "Destination Location" @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Yapım işi durum kodu" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Sıra numarası" @@ -854,7 +854,7 @@ msgstr "Veren" msgid "User who issued this build order" msgstr "Bu yapım işi emrini veren kullanıcı" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "Bu yapım siparişinden sorumlu kullanıcı veya grup" msgid "External Link" msgstr "Harici Bağlantı" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Harici URL'ye bağlantı" @@ -881,7 +881,7 @@ msgstr "Yapım Önceliği" msgid "Priority of this build order" msgstr "Bu yapım siparişinin önceliği" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Proje Kodu" @@ -903,51 +903,50 @@ msgstr "{build} yapım siparişi tamamlandı" msgid "A build order has been completed" msgstr "Bir yapım siparişi tamamlandı" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "İzlenebilir parçalar için seri numaraları sağlanmalıdır" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Yapım işi çıktısı belirtilmedi" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Yapım işi çıktısı zaten tamamlanmış" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Yapım işi çıktısı, yapım işi emri ile eşleşmiyor" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "Miktar sıfırdan büyük olmalıdır" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "Miktar çıktı miktarından büyük olamaz" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "{serial} yapım çıktısı gerekli testleri geçemedi" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "Yapım Siparişi Satır Ögesi" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Nesne yap" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Nesne yap" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Miktar" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Yapım siparişi için gereken miktar" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "Ana parça izlenebilir olarak işaretlendiğinden, yapım işi çıktısı için bir yapım işi ögesi belirtmelidir" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Ayrılan miktar ({q}) mevcut stok miktarını ({a}) aşmamalı" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Seri numaralı stok için miktar bir olmalı" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "Seçilen stok ögesi malzeme listesi satırıyla eşleşmiyor" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Stok Kalemi" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Kaynak stok kalemi" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Yapım işi için tahsis edilen stok miktarı" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Kurulduğu yer" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Hedef stok kalemi" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Malzeme listesi izlenebilir parçalar içerdiğinden tamsayı miktar gereklidir" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Seri Numaraları" @@ -1070,10 +1071,10 @@ msgstr "Yapım işi çıktısı için seri numaraları girin" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Konum" @@ -1089,8 +1090,8 @@ msgstr "Seri Numaralarını Otomatik Ayır" msgid "Automatically allocate required items with matching serial numbers" msgstr "Gerekli ögeleri eşleşen seri numaralarıyla otomatik ayır" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "Şu seri numaraları zaten varlar veya geçersizler" @@ -1222,7 +1223,7 @@ msgstr "Yapım Satırı Ögesi" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part yapım siparişi aynı olan parçayı göstermelidir" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "Öge stokta olmalıdır" @@ -1299,13 +1300,13 @@ msgstr "ML Parça Adı" msgid "Build" msgstr "Yap" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "Tedarikçi Parçası" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "Ayrılan Miktar" @@ -1317,7 +1318,7 @@ msgstr "Yapım Referansı" msgid "Part Category Name" msgstr "Parça Sınıfı Adı" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Takip Edilebilir" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "Çeşide İzin Ver" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "ML Ögesi" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "Ayrılan Stok" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "Siparişte" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "Üretimde" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "Harici Stok" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Mevcut Stok" @@ -1391,32 +1392,32 @@ msgstr "İptal edildi" msgid "Complete" msgstr "Tamamlandı" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "Yapım siparişi için gereken stok" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "Gecikmiş Yapım Siparişi" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "{bo} yapım siparişi şimdi gecikti" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "Link Olanlar" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "Dosya Olanlar" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "Kullanıcının bu ekleri silmek için izni yok" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "Kullanıcının bu eki silmek için izni yok" @@ -1436,61 +1437,61 @@ msgstr "Geçerli bir para birimi kodu sağlanmamış" msgid "No plugin" msgstr "Eklenti yok" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Güncellendi" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Son güncellemenin zaman damgası" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Eşsiz proje kodu" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Proje açıklaması" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "Bu projeden sorumlu kullanıcı veya grup" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "Ayarlar anahtarı" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Ayarlar değeri" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "Seçilen değer geçerli bir seçenek değil" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "Değer bir boolean değer olmalıdır" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "Değer bir integer değer olmalıdır" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "Değer geçerli bir sayı olmalıdır" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "Değer doğrulama kontrollerini geçemiyor" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "Anahtar dizesi benzersiz olmalı" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "Anahtar dizesi benzersiz olmalı" msgid "User" msgstr "Kullanıcı" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "Fiyat düşürme miktarı" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Fiyat" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "Belirtilen miktardaki birim fiyat" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Bitiş Noktası" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "Bu web kancasının alındığı uç nokta" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "Bu web kancası için ad" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Aktif" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "Bu web kancası etkin mi" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "Token" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "Erişim için belirteç" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Gizli" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "HMAC için paylaşılan gizli bilgi" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "Mesaj Kimliği" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "Bu mesaj için benzersiz tanımlayıcı" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "Sağlayıcı" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "Bu mesajın alındığı ana bilgisayar" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Başlık" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "Bu mesajın başlığı" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Gövde" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "Bu mesajın gövdesi" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "Bu mesajın alındığı uç nokta" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "Üzerinde çalışıldı" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "Bu mesajdaki iş bitirildi mi?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Başlık" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Bağlantı" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Yayınlandı" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Yazar" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Özet" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Oku" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "Haberi okudunuz mu?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Resim" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Görsel yükleyin" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "Birim simgesi benzersiz olmalıdır" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Sembol" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Tanımlama" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Birim tanımlaması" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Ek" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Eksik dosya" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Bozuk dış bağlantı" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Eklenecek dosyayı seç" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Yorum" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "Özel Durum" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "Özel Durumlar" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Değer" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "Renk" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "Model" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "Model seçilmelidir" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "Anahtar Seçilmelidir" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "Mantıksal anahtar seçilmelidir" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "Kaynak Dize" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "Bu liste için kullanılan kaynağı belirten isteğe bağlı dize" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Oluşturuldu" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "Seçim Listesi Girişleri" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Sonuç" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Anahtar" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "Çalışıyor" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "Bekleyen Görevler" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Planlanan Görevler" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Başarısız Görevler" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "Görev ID" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "Benzersiz Görev ID" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "Kilit" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Kilit Zamanı" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Görev Adı" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Fonksiyon" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Fonksiyon Adı" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Argümanlar" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Görev Argümanları" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "Anahtar Argümanlar" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "Anahtar görev argümanları" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Dosya adı" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "Model Tipi" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "Grup yok" msgid "Site URL is locked by configuration" msgstr "Site URL'si yapılandırma tarafından kilitlendi" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Yeniden başlatma gerekli" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "Sunucunun yeniden başlatılmasını gerektiren bir ayar değişti" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Bekleyen taşıma işlemleri" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "Bekleyen veritabanı taşıma sayısı" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "Örnek ID" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Sunucu Örneği adı" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "Sunucu örneği için sözce (string) açıklayıcı" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Örnek adını kullan" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "Örnek adını başlık çubuğunda kullan" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "`Hakkında` gösterimini kısıtla" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "`Hakkında` kipini yalnızca süper kullanıcılara göster" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Şirket adı" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Dahili şirket adı" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "Ana URL" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "Sunucu örneğinn temel URL'i" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Varsayılan Para Birimi" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "Fiyat hesaplamaları için temel para birimini seçin" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "Desteklenen Para Birimleri" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "Desteklenen para birimi kodlarının listesi" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "Döviz Güncelleme Aralığı" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Döviz kurlarını şu sıklıkla güncelle (etkisizleştirmek için sıfır yapın)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "günler" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "Döviz Güncelleme Eklentisi" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "Kullanılacak döviz güncelleme eklentisi" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "URL'den indir" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Harici URL'den resim ve dosyaların indirilmesine izin ver" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "İndirme Boyutu Sınırı" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "Uzak resimler için izin verilebilir maksimum indirme boyutu" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "URL'den indirmek için kullanılan kullanıcı aracısı" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Harici URL'den resim ve dosya indirmek için kullanılan kullanıcı aracısını geçersiz kılmaya izin ver (varsayılan için boş bırakın)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "Sıkı URL Doğrulama" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "URL'leri doğrularken şema tanımlamasını gerekli kıl" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Güncelleme Denetleme Aralığı" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "Güncellemeleri şu sıklıkla denetle (etkisizleştirmek için sıfır yapın)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Otomatik Yedekleme" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Veritabanı ve ortam dosyalarını otomatik yedeklemeyi etkinleştir" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Otomatik Yedekleme Aralığı" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Otomatik yedekleme olayları arasındaki gün sayısını belirtin" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "Görev Silme Aralığı" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "Arkaplan görev sonuçları belirtilen gün sayısı kadar sonra silinecektir" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "Hata Günlüğü Silme Aralığı" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "Hata günlükleri belirtilen gün sayısı kadar sonra silinecektir" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "Bildirim Silme Aralığı" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Kullanıcı bildirimleri belirtilen gün sayısı kadar sonra silinecektir" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Barkod Desteği" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "Web arayüzünde barkod tarayıcı desteğini etkinleştir" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "Barkod Girdi Gecikmesi" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "Barkod girdi işleme gecikme süresi" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "Barkod Web Kamerası Desteği" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "Tarayıcıda web kamerası aracılığıyla barkod taramaya izin ver" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "Barkod Verisini Göster" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "Barkod verisini tarayıcıda metin olarak görüntüle" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "Barkod Üreteci Eklentisi" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "Dahili barkod üretimi için kullanılacak eklenti" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "Parça Revizyonları" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "Parça için revizyon alanını etkinleştir" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "Yalnızca Montaj Revizyonu" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "Yalnızca montaj parçaları için revizyona izin ver" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "Montajdan Silmeye İzin Ver" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "Bir montajda kullanılan parçaları silmeye izin ver" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "DPN Regex" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "Parça DPN eşleştirmesi için Düzenli İfade Kalıbı (Regex)" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Yinelenen DPN'ye İzin Ver" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "Birden çok parçanın aynı DPN'yi paylaşmasına izin ver" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "DPN Düzenlemeye İzin Ver" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "Parçayı düzenlerken DPN değiştirmeye izin ver" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Parça ML Verisini Kopyala" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "Bir parçayo çoğaltırken varsayılan olarak ML verisini kopyala" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "Parça Parametre Verisini Kopyala" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "Bir parçayı çoğaltırken varsayılan olarak parametre verisini kopyala" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "Parça Test Verisini Kopyala" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "Bir parçayı çoğaltırken varsayılan olarak test verisini kopyala" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "Kategori Paremetre Sablonu Kopyala" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "Parça oluştururken kategori parametre şablonlarını kopyala" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Şablon" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "Parçaları varsayılan olan şablondur" -#: common/setting/system.py:430 +#: common/setting/system.py:443 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:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Bileşen" -#: common/setting/system.py:436 +#: common/setting/system.py:449 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:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Satın Alınabilir" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "Parçalar varsayılan olarak satın alınabilir" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Satılabilir" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "Parçalar varsayılan olarak satılabilir" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "Parçalar varsayılan olarak takip edilebilir" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Sanal" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Parçalar varsayılan olarak sanaldır" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "İlgili parçaları göster" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Bir parça için ilgili parçaları göster" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "Başlangıç Stok Verisi" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "Yeni bir parça eklerken başlangıç stoku oluşturmaya izin ver" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "Başlangıç Sağlayıcı Verisi" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Yeni bir parça oluştururken başlangıç sağlayıcı verisi oluşturmaya izin ver" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Parça Adı Görüntüleme Biçimi" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Parça adını görüntüleme biçimi" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "Parça Sınıfının Varsayılan Simgesi" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "Parça sınıfı için varsayılan simge (boş bırakılırsa simge kullanılmaz)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "Parametre Birimlerini Zorunlu Kıl" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "Birimler sağlanırsa, parametre değerleri belirtilen birimlere uymalıdır" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "Minimum Fiyatlandırma Ondalık Basamakları" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Fiiyatlandırma verisini oluştururken gösterilecek ondalık basamakların minimum sayısı" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "Maksimum Fiyatlandırma Ondalık Basamakları" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Fiiyatlandırma verisini oluştururken gösterilecek ondalık basamakların maksimum sayısı" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Sağlayıcı Fiyatlandırmasını Kullan" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Genel fiyatlandırma hesaplamalarına sağlayıcı fiyat aralıklarını ekle" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Satın Alma Geçmişini Geçersiz Kılma" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Geçmiş satınalma siparişi fiyatlandırması, sağlayıcı fiyat aralıklarını geçersiz kılar" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "Stok Ögesi Fiyatlandırmasını Kullan" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Fiyatlandırma hesaplamaları için elle girilen stok verisinin fiyatlandırmasını kullan" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "Stok Ögesi Fiyatlandırma Yaşı" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Bu gün sayısından daha eski olan stok kalemlerini fiyatlandırma hesaplamalarından hariç tut" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "Türev Fiyatlandırması Kullan" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "Genel fiyat hesaplamalarına türev fiyatlarını da ekle" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "Yalnızca Etkin Türevler" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "Türev fiyatlandırması için yalnızca etkin türev parçaları kullan" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "Fiyatlandırmayı Yeniden Oluşturma Aralığı" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "Parça fiyatlandrımasının otomatik güncellenmesinden önceki gün sayısı" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Dahili Fiyatlar" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "Parçalar için dahili fiyatları etkinleştir" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Dahili Fiyat Geçersiz Kılma" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "Varsa, dahili fiyatlar fiyat aralığı hesaplarını geçersiz kılar" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Etiket yazdırmayı etkinleştir" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Web arayüzünden etiket yazdırmayı etkinleştir" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "Etiket Resmi DPI Değeri" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Resim dosyaları üretirken etiket yazdırma eklentilerine sağlanacak DPI çözünürlüğü" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Raporları Etkinleştir" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Rapor üretimini etkinleştir" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Hata Ayıklama Modu" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "Raporları hata ayıklama modunda üret (HTML çıktısı)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "Rapor Hatalarını Günlüğe Kaydet" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "Raporlar üretirken oluşan hataları günlüğe kaydet" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Sayfa Boyutu" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "PDF raporlar için varsayılan sayfa boyutu" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "Küresel Çapta Benzersiz Seri Numaraları" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "Stok ögeleri için seri numaraları küresel çapta benzersiz olmalıdır" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "Tükenen Stoku Sil" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "Bir stok ögesi tükendiğinde varsayılan davranışı belirler" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "Parti Kodu Şablonu" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "Stok ögelerine varsayılan parti kodlarını üretmek için şablon" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "Stok Sona Erme Tarihi" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "Stokun sona erme işlevselliğini etkinleştir" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "Süresi Dolan Stoku Sat" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "Süresi dolan stok satışına izin ver" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "Stok Eskime Süresi" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "Stok öğelerinin son kullanma tarihi geçmeden eskimiş sayıldığı gün sayısı" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "Yapımın Süresi Geçmiş Stoku" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "Süresi geçmiş stok ile yapıma izin ver" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "Stok Sahipliği Kontrolü" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "Stok konumu ve ögeler üzerinde sahiplik kontrolünü etkinleştirin" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "Varsayılan Stok Konumu Simgesi" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "Stok konumu için varsayılan simge (boşsa simge yok demektir)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "Kurulu Stok Ögelerini Göster" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "Stok tablolarında kurulu stok ögelerini göster" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "Ögelerin kurulumunu yaparken ML'i kontrol et" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "Kurulu stok ögeleri üst parçanın ML'nde mevcut olmalıdır" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "Stok Dışı Aktarıma İzin Ver" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "Stokta olmayan ögelerin stok konumları arasında aktarılmasına izin ver" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "Yapım Siparişi Referans Kalıbı" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Yapım Siparişi referans alanını üretmek için gerekli kalıp" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "Sorumlu Sahip Gerektir" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "Her siparişe sorumlu bir yetkili atanmalıdır." -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "Aktif Parça Gerekli" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "Etkin olmayan parçalar için yapı sırası oluşturulmasını önleyin." -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "Kilitli Parça Gerekli" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "Kilitlenmemiş parçalar için yapı sırası oluşturulmasını engelle." -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "Geçerli BOM gereklidir." -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "BOM doğrulanmadan yapı sırası oluşturulmasını engelle." -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "Kapalı Alt Siparişler Gerekli" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "Tüm alt siparişler kapatılana kadar yapı sırası tamamlanmasını engelle." -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "Testler Geçene Kadar Engelle" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "Tüm gerekli testler geçene kadar yapı çıktıları tamamlanmasını engelle" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "İade Siparişlerini Etkinleştir" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "Kullanıcı arayüzünde iade siparişi işlevselliğini etkinleştirin." -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "Kullanıcı arayüzünde iade siparişi işlevselliğini etkinleştirin." -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "İade Sipariş referans alanı oluşturmak için gerekli desen" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "Tamamlanan İade Siparişlerini Düzenle" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "Tamamlandıktan sonra iade emirlerini düzenlemeye izin ver" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "Satış Siparişi Referans Şablonu" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "Satış Siparişi referans alanını üretmek için gerekli şablon" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "Satış Siparişi Varsayılan Gönderi" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "Satış siparişleriyle varsayılan gönderi oluşturmayı etkinleştir" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "Tamamlanmış Satış Siparişini Düzenle" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Gönderilen veya tamamlanan satış siparişlerini düzenlemeye izin ver" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "Gönderilen Siparişleri Tamamlandı Olarak İmle" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "Gönderildi olarak imlenen satış siparişleri \"gönderildi\" durumu atlanarak otomatik olarak tamamlanacaktır" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "Satın Alma Siparişi Referans Şablonu" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "Satın Alma Siparişi referans alanını üretmek için gerekli şablon" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "Tamamlanan Satın Alma Siparişlerini Düzenle" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Gönderildikten veya tamamlandıktan sonra satın alma siparişlerini düzenlemeye izin ver" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "Satın Alma Siparişlerini Otomatik Tamamla" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "Tüm satır ögeleri alındığında satın alma siparişini otomatikmen tamamlandı olarak imle" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Şifreyi unuttumu etkinleştir" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Giriş yapma sayfasında şifremi unuttum işlevini etkinleştir" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Kayıt olmayı etkinleştir" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Giriş yapma sayfalarında kullanıcılar için kendini kaydetme işlevini etkinleştir" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "SSO gruplarından yerel InvenTree gruplarına bir eşleme. Yerel grup yoksa, oluşturulacaktır." -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "E-posta Gerekir" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "Kullanıcı ayrıntılarını TOA hesabı verisinden otomatik olarak doldur" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "Postayı iki kez gir" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "Hesap oluştururken kullanıcıların postalarını iki kez girmelerini iste" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Şifreyi iki kez gir" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "Hesap oluştururken kullanıcıların şifrelerini iki kez girmesini iste" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Alanlara izin ver" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Belirli alanlara hesap açmayı kısıtla (virgülle ayrılmış, @ ile başlayan)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Hesap oluştururken grup" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "Yeni kullanıcıların kayıt sırasında atanacağı grup. Eğer TOA grup eşitlemesi etkinse, yalnızca ıdP'den hiçbir grup atanamazsa bu grup ayarlanır." -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "ÇFKD'yi Zorunlu Kıl" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "Kullanıcıların çok faktörlü kimlik doğrulamasını kullanması gerekmektedir." -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "URL yönlendirmesi eklemek için eklentileri etkinleştirin" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "Eklentilerin olaylara yanıt verebilmesini etkinleştirin" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "Kullancıların tam isimlerini göster" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Parça Planlaması" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "Parça planlama bilgilerini görüntüle" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "Parça Stoksayımı" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Üretici" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Şirket" @@ -3513,331 +3638,331 @@ msgstr "Şirket" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Şirketler" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "İnternet Sitesi" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "Şirket web sitesi" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Telefon numarası" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "İletişim telefon numarası" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "İletişim e-posta adresi" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "İletişim" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "Müşteri sitesi" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "Bu şirkete ürün satıyor musunuz?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "Bu şirketten ürün satın alıyor musunuz?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "Bu şirket üretim yapıyor mu?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "Bu şirket için varsayılan para birimi" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Adres" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Adres" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Şirket Seç" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "Adres Adı" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Birincil Adres" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Birincil adres olarak ayarla" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "1. Satır" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "1. Adres Satırı" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "2. Satır" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "2. Adres Satırı" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Posta Kodu" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Şehir/Bölge" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Temel Parça" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Parça seçin" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "ÜPN" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Üretici Parça Numarası" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "Parça üreticisi açıklaması" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Parametre adı" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Parametre değeri" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Birim" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Birim Parametreleri" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Tedarikçi" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "Bu parça üreticisi aktif mi?" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Parça üreticisi seç" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Not" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "temel maliyet" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Paketleme" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "çoklu" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Anahtar" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "Sipariş referansı" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Durum" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Parçalar" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "DPN" @@ -5344,7 +5449,7 @@ msgstr "DPN" msgid "Part revision or version number" msgstr "Parça revizyon veya versiyon numarası" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Revizyon" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Minimum Stok" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "" @@ -5713,7 +5818,7 @@ msgstr "Test Açıklaması" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Etkin" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Stok Kalemleri" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Arka plan çalışanı kontrolü başarısız oldu" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "Şablon adı" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "Dosya Adı Deseni" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Filtreler" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Genişlik [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "Etiket genişliği mm olarak belirtilmeli" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Yükseklik [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "Etiket yüksekliği mm olarak belirtilmeli" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "Toplu" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Seri No" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Seri No" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "Bu stok kalemi için tedarikçi parçası seçin" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "Miktar seri numaları ile eşleşmiyor" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "Stok kalemi stokta olmadığı için taşınamaz" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "Sağlayıcı Parça Numarası" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Alt konumlar" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index 5d66a46c20..bf84b72ddf 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "Необхідно увімкнути двофакторну автентифікацію, перед тим як робити будь-що інше." -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "Кінцева точка API не знайдена" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "Для масових операцій необхідно надати перелік сутностей або фільтрів" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "Сутності необхідно надати списком" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "Надано неправильний список сутностей" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "Фільтри необхідно надавати у вигляді словника" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "Надано неправильні фільтри" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "Немає сутностей що відповідають наданим критеріям" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "У користувача немає дозволу на перегляд цієї моделі" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "Неправильне десяткове значення" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Нотатки" @@ -356,7 +356,7 @@ msgstr "Китайська (Традиційна)" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "" @@ -408,19 +408,19 @@ msgstr "" msgid "Invalid choice" msgstr "" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Назва" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Опис" msgid "Description (optional)" msgstr "Опис (опціонально)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Шлях" @@ -479,11 +479,11 @@ msgstr "" msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "" @@ -527,29 +527,29 @@ msgstr "" msgid "Invalid value for overage" msgstr "" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "Деталь" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Розхідний матеріал" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Збірка" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Тестуємо" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Доступно" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "" @@ -854,7 +854,7 @@ msgstr "" msgid "User who issued this build order" msgstr "" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "" msgid "External Link" msgstr "" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "" @@ -881,7 +881,7 @@ msgstr "" msgid "Priority of this build order" msgstr "" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "" @@ -903,51 +903,50 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Кількість" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "" @@ -1070,10 +1071,10 @@ msgstr "" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Місце" @@ -1089,8 +1090,8 @@ msgstr "" msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "" @@ -1222,7 +1223,7 @@ msgstr "" msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "" @@ -1299,13 +1300,13 @@ msgstr "" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "" @@ -1317,7 +1318,7 @@ msgstr "" msgid "Part Category Name" msgstr "" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "Дозволити варіанти" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "У виробництві" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "" @@ -1391,32 +1392,32 @@ msgstr "" msgid "Complete" msgstr "" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1436,61 +1437,61 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "" msgid "User" msgstr "Користувач" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Ціна" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Назва" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Посилання" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Зображення" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Коментар" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "Дата завантаження" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "Дата завантаження файлу" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "Розмір файлу" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "Розмір файлу в байтах" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "Етикетка" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "Колір" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "Модель" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "Список вибору" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "Заблоковано" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Дані" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "" msgid "Site URL is locked by configuration" msgstr "" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Шаблон" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Компонент" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Доступний для продажу" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Віртуальний" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Показати пов'язані деталі" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "Чи призначені групи користувачеві повинні бути видалені, якщо вони не є резервним сервером IdP. Відключення цього налаштування може спричинити проблеми безпеки" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 -msgid "Enable project codes" -msgstr "" - -#: common/setting/system.py:1028 -msgid "Enable project codes for tracking projects" -msgstr "" - -#: common/setting/system.py:1033 -msgid "Stocktake Functionality" -msgstr "" - -#: common/setting/system.py:1035 -msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +#: common/setting/system.py:1040 +msgid "Enable mail integration" msgstr "" #: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 +msgid "Enable project codes" +msgstr "" + +#: common/setting/system.py:1048 +msgid "Enable project codes for tracking projects" +msgstr "" + +#: common/setting/system.py:1053 +msgid "Stocktake Functionality" +msgstr "" + +#: common/setting/system.py:1055 +msgid "Enable stocktake functionality for recording stock levels and calculating stock value" +msgstr "" + +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "Внутрішня позиція активна" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Виробник" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "" @@ -3513,331 +3638,331 @@ msgstr "" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Позиція виробника" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Базова позиція" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Обрати позицію" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Примітка" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "Базова вартість" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Мінімальний платіж (напр. комісія за збереження)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "В наявності" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "Дійсно" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "" @@ -5046,130 +5167,114 @@ msgstr "" msgid "Reject" msgstr "" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "Глибина" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "Батьківський елемент" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "Фільтр за батьківською категорією" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Позиції" @@ -5335,7 +5440,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" msgid "Part revision or version number" msgstr "" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Ревізія" @@ -5376,7 +5481,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Мінімальний запас" @@ -5612,7 +5717,7 @@ msgstr "" msgid "Total available stock at time of stocktake" msgstr "" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Дата" @@ -5713,7 +5818,7 @@ msgstr "" msgid "Enter description for this test" msgstr "" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "" @@ -5977,359 +6082,351 @@ msgstr "Результати" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "ID моделі" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "Виробничий номер позиції" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "Початковий запас" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "Наявне зображення" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Сформувати звіт" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Мінімальна ціна" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Максимальна ціна" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -6651,8 +6748,8 @@ msgstr "" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "" @@ -6979,7 +7076,7 @@ msgstr "" msgid "Print a border around each label" msgstr "" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "" @@ -7011,51 +7108,51 @@ msgstr "" msgid "No labels were generated" msgstr "" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "" @@ -7160,21 +7257,21 @@ msgstr "" msgid "Method" msgstr "" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "" @@ -7203,11 +7300,11 @@ msgstr "" msgid "A numerical setting" msgstr "" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "" msgid "Stock location items" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "" @@ -7647,15 +7767,6 @@ msgstr "" msgid "No result" msgstr "" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "" @@ -7672,123 +7783,123 @@ msgstr "" msgid "company_image tag requires a Company instance" msgstr "" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "" @@ -7897,7 +8008,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "" @@ -7913,7 +8024,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "" @@ -7969,136 +8080,136 @@ msgstr "" msgid "Converted to part" msgstr "" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index 7712ef9b0c..859e800631 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "API endpoint không tồn tại" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "Người dùng không được phân quyền xem mẫu này" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "Ghi chú" @@ -356,7 +356,7 @@ msgstr "Tiếng Trung (Phồn thể)" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "Email" @@ -408,19 +408,19 @@ msgstr "Tên trùng lặp không thể tồn tại trong cùng cấp thư mục" msgid "Invalid choice" msgstr "Lựa chọn sai" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "Tên" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "Mô tả" msgid "Description (optional)" msgstr "Mô tả (tùy chọn)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "Đường dẫn" @@ -479,11 +479,11 @@ msgstr "Lỗi đã được ghi lại bởi máy chủ." msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "Tiền tệ" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "Chọn tiền tệ trong các tùy chọn đang có" @@ -527,29 +527,29 @@ msgstr "Hàng hóa dư thừa không thể vượt quá 100%" msgid "Invalid value for overage" msgstr "Giá trị không hợp lệ cho hàng hóa dư thừa" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "Trạng thái đặt hàng" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "Phiên bản cha" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "" msgid "Part" msgstr "Nguyên liệu" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "Danh mục" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "Xây dựng nguồn gốc" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "Đã gán cho tôi" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "Phát hành bởi" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "Đã gán cho" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "" -#: build/api.py:409 +#: build/api.py:411 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:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "Vật tư tiêu hao" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "Tuỳ chọn" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "Lắp ráp" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "Đã theo dõi" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "Có thể kiểm tra" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "Đã cấp phát" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "Có sẵn" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "Mã trạng thái bản dựng" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "Mã lô hàng" @@ -854,7 +854,7 @@ msgstr "Cấp bởi" 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:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,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:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "Liên kết đến URL bên ngoài" @@ -881,7 +881,7 @@ msgstr "Độ ưu tiên" msgid "Priority of this build order" msgstr "Độ quan trọng của đơn đặt bản dựng" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "Mã dự án" @@ -903,51 +903,50 @@ msgstr "Đơn đặt bản dựng {build} đã được hoàn thành" msgid "A build order has been completed" msgstr "Một đơn đặt bản dựng đã được hoàn thành" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "Số sê-ri phải được cung cấp cho hàng hoá có thể theo dõi" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "Không có đầu ra bản dựng đã được chỉ ra" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "Đầu ra bản dựng đã được hoàn thiện" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "Đầu ra bản dựng không phù hợp với đơn đặt bản dựng" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "Số lượng phải lớn hơn 0" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "Số lượng không thể lớn hơn số lượng đầu ra" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Tạo đầu ra {serial} chưa vượt qua tất cả các bài kiểm tra" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "Tạo mục đơn hàng" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "Dựng đối tượng" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "Dựng đối tượng" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "Số lượng" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "Yêu cầu số lượng để dựng đơn đặt" -#: build/models.py:1669 +#: build/models.py:1678 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:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "Số lượng được phân bổ ({q}) không thể vượt quá số lượng có trong kho ({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "Kho hàng đã bị phân bổ quá đà" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "Số lượng phân bổ phải lớn hơn 0" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "Số lượng phải là 1 cho kho sê ri" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "Hàng trong kho đã chọn không phù hợp với đường BOM" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "Kho hàng" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "Kho hàng gốc" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "Số lượng kho hàng cần chỉ định để xây dựng" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "Cài đặt vào" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "Kho hàng đích" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "Cần nhập số lượng nguyên dương, bởi vì hóa đơn vật liệu chứa sản phẩm có thể theo dõi" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "Số sê-ri" @@ -1070,10 +1071,10 @@ msgstr "Nhập vào số sêri cho đầu ra bản dựng" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "Địa điểm" @@ -1089,8 +1090,8 @@ 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:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 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ệ" @@ -1222,7 +1223,7 @@ msgstr "Mục chi tiết bản dựng" 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:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "Hàng hóa phải trong kho" @@ -1299,13 +1300,13 @@ msgstr "Tên hàng hoá BOM" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "Sản phẩm nhà cung cấp" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "Số lượng đã phân bổ" @@ -1317,7 +1318,7 @@ msgstr "Tạo liên quan" msgid "Part Category Name" msgstr "Tên danh mục hàng hoá" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "Có thể theo dõi" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "Cho phép biến thể" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "Mục BOM" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "Phân kho" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "Bật đơn hàng" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "Đang sản xuất" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "Kho ngoài" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "Số hàng tồn" @@ -1391,32 +1392,32 @@ msgstr "Đã hủy" msgid "Complete" msgstr "Hoàn thành" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "Kho được yêu cầu cho đặt hàng bản dựng" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "Đơn đặt bản dựng quá hạn" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "Đặt hàng bản dựng {bo} đang quá hạn" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "Đường dẫn" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "File" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "Không có quyền xoá file đính kèm" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "Không có quyền xoá file đính kèm" @@ -1436,61 +1437,61 @@ msgstr "Mã tiền tệ không đúng" msgid "No plugin" msgstr "Không phần mở rộng" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "Đã cập nhật" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "Nhãn thời gian của lần cập cuối cùng" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "Mã dự án duy nhất" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "Mô tả dự án" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "Người dùng hoặc nhóm có trách nhiệm với dự án này" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "Giá trị cài đặt" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "Giá trị đã chọn không hợp lệ" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "Giá trị phải là kiểu boolean" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "Giá trị phải là một số nguyên dương" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "Chuỗi khóa phải duy nhất" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "Chuỗi khóa phải duy nhất" msgid "User" msgstr "Người dùng" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "Số lượng giá phá vỡ" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "Giá" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "Đơn vị giá theo số lượng cụ thể" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "Đầu mối" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "Đầu mối tại điểm webhook được nhận" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "Tên của webhook này" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "Hoạt động" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "Webhook có hoạt động không" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "Chữ ký số" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "Chữ ký số để truy cập" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "Bí mật" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "Mã bí mật dùng chung cho HMAC" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "Mã Tin nhắn" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "Định danh duy nhất cho tin nhắn này" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "Máy chủ" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "Mãy chủ từ tin nhắn này đã được nhận" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "Đầu mục" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "Đầu mục tin nhắn" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "Thân" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "Thân tin nhắn này" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "Đầu mối của tin nhắn này đã nhận được" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "Làm việc vào" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "Công việc trong tin nhắn này đã kết thúc?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "Mã" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "Tiêu đề" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "Liên kết" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "Đã công bố" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "Tác giả" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "Tóm tắt" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "Đọc" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "Tin này đã được đọc?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "Hình ảnh" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "Tệp ảnh" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "Tên đơn vị phải là một định danh hợp lệ" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "Tên đơn vị" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "Biểu tượng" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "Biểu tượng đơn vị tùy chọn" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "Định nghĩa" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "Định nghĩa đơn vị" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "Đính kèm" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "Tập tin bị thiếu" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "Thiếu liên kết bên ngoài" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "Chọn file đính kèm" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "Bình luận" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "Giá trị" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "Đã tạo" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "Cập nhật lần cuối" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "Dữ liệu" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "Ngữ cảnh" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "Kết quả" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "Khóa" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "Đang chạy" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "Công việc chờ xử lý" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "Tác vụ theo lịch" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "Tác vụ thất bại" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "ID tác vụ" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "ID tác vụ duy nhất" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "Khoá" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "Thời gian khóa" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "Tên công việc" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "Chức năng" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "Tên chức năng" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "Đối số" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "Đối số công việc" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "Đối số từ khóa" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "Đối số từ khóa công việc" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "Tên tập tin" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "Không có nhóm" msgid "Site URL is locked by configuration" msgstr "URL trang web đã bị khóa bởi cấu hình" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "Cần khởi động lại" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "Một thiết lập đã bị thay đổi yêu cầu khởi động lại máy chủ" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "Chuyển dữ liệu chờ xử lý" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "Số đợt nâng cấp cơ sở dữ liệu chờ xử lý" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "Tên thực thể máy chủ" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "Mô tả chuỗi cho thực thể máy chủ" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "Sử dụng tên thực thể" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "Sử dụng tên thực thể trên thanh tiêu đề" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "Cấm hiển thị `giới thiệu`" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "Chỉ hiển thị cửa sổ `giới thiệu` với siêu người dùng" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "Tên công ty" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "Tên công ty nội bộ" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "URL cơ sở" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "URL cơ sở cho thực thể máy chủ" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "Tiền tệ mặc định" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "Chọn tiền tệ chính khi tính giá" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "Tần suất cập nhật tiền tệ" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "Mức độ thường xuyên để cập nhật tỉ giá hối đoái (điền 0 để tắt)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "ngày" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "Phần mở rộng cập nhật tiền tệ" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "Phần mở rộng cập nhật tiền tệ được sử dụng" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "Tải về từ URL" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "Cho phép tải ảnh và tệp tin từ xa theo URL bên ngoài" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "Giới hạn kích thước tải xuống" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "Kích thước tải xuống tối đa với hình ảnh từ xa" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "User-agent được dùng để tải xuống theo URL" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "Cho phép ghi đè user-agent được dùng để tải về hình ảnh và tệp tin từ xa theo URL bên ngoài (để trống nghĩa là dùng mặc định)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "Thời gian kiểm tra bản cập nhật" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "Mức độ thường xuyên để kiểm tra bản cập nhật (điền 0 để tắt)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "Sao lưu tự động" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "Bật tính năng sao lưu tự động cơ sở dữ liệu và tệp tin đa phương tiện" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "Khoảng thời gian sao lưu tự động" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "Xác định số ngày giữa các kỳ sao lưu tự động" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "Khoảng thời gian xóa tác vụ" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "Kết quả tác vụ chạy ngầm sẽ bị xóa sau số ngày được chỉ định" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "Khoảng thời gian xóa nhật ký lỗi" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "Nhật ký lỗi sẽ bị xóa sau số ngày được chỉ định" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "Khoảng thời gian xóa thông báo" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "Thông báo sẽ bị xóa sau số ngày được chỉ định" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "Hỗ trợ mã vạch" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "Bật hỗ trợ máy quét mã vạch trong giao diện web" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "Độ trễ quét mã vạch" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "Thời gian trễ xử lý đầu đọc mã vạch" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "Hỗ trợ mã vạch qua webcam" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "Cho phép quét mã vạch qua webcam bên trong trình duyệt" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "Phiên bản Sản phẩm" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "Bật trường phiên bản cho sản phẩm" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "Mẫu IPN" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "Mẫu dùng nhanh phổ biến dành cho tìm IPN sản phẩm" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "Cho phép trùng IPN" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "Cho phép nhiều sản phẩm dùng IPN giống nhau" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "Cho phép sửa IPN" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "Cho phép đổi giá trị IPN khi sửa một sản phẩm" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "Sao chép dữ liệu BOM của sản phẩm" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "Sao chép dữ liệu BOM mặc định khi nhân bản 1 sản phẩm" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "Sao chép dữ liệu tham số sản phẩm" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "Sao chép dữ liệu tham số mặc định khi nhân bản 1 sản phẩm" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "Chép thông tin kiểm thử sản phẩm" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "Sao chép dữ liệu kiểm thử mặc định khi nhân bản 1 sản phẩm" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "Sao chéo mẫu tham số danh mục" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "Sao chéo mẫu tham số danh mục khi tạo 1 sản phẩm" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "Mẫu" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "Sản phẩm là mẫu bởi mặc định" -#: common/setting/system.py:430 +#: common/setting/system.py:443 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:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "Thành phần" -#: common/setting/system.py:436 +#: common/setting/system.py:449 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:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "Có thể mua" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "Sản phẩm mặc định có thể mua được" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "Có thể bán" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "Sản phẩm mặc định có thể bán được" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "Sản phẩm mặc định có thể theo dõi được" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "Ảo" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "Sản phẩm mặc định là số hóa" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "Hiển thị sản phẩm liên quan" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "Hiện sản phẩm liên quan cho 1 sản phẩm" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "Số liệu tồn kho ban đầu" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "Cho phép tạo tồn kho ban đầu khi thêm 1 sản phẩm mới" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "Dữ liệu nhà cung cấp ban đầu" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "Cho phép tạo dữ liệu nhà cung cấp ban đầu khi thêm 1 sản phẩm mới" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "Định dạng tên sản phẩm hiển thị" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "Định dạng để hiển thị tên sản phẩm" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "Biểu tượng mặc định của danh mục sản phẩm" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "Biểu tượng mặc định của danh mục sản phẩm (để trống nghĩa là không có biểu tượng)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "Bắt buộc đơn vị tham số" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "Nếu đơn vị được cung cấp, giá trị tham số phải phù hợp với các đơn vị xác định" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "Vị trí phần thập phân giá bán tối thiểu" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "Số vị trí thập phân tối thiểu cần hiển thị khi tạo dữ liệu giá" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "Vị trí phần thập phân giá bán tối đa" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "Số vị trí thập phân tối đa cần hiển thị khi tạo dữ liệu giá" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "Sử dụng giá bán nhà cung cấp" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "Bao gồm giá phá vỡ cả nhà cung cấp trong tính toán giá tổng thể" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "Ghi đè lịch sử mua hàng" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "Giá đơn hàng đặt mua trước đó ghi đè giá phá vỡ của nhà cung cấp" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "Sử dụng giá hàng hóa trong kho" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "Dùng giá bán từ dữ liệu kho nhập vào thủ công đối với bộ tính toán giá bán" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "Tuổi giá kho hàng" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "Loại trừ hàng hóa trong kho cũ hơn số ngày ngày từ bảng tính giá bán" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "Sử dụng giá biến thể" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "Bao gồm giá biến thể trong bộ tính toán giá tổng thể" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "Chỉ các biến thể hoạt động" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "Chỉ sử dụng sản phẩm biến thể hoạt động để tính toán giá bán biến thể" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "Tần suất tạo lại giá" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "Số ngày trước khi giá sản phẩm được tự động cập nhật" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "Giá nội bộ" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "Bật giá nội bộ cho sản phẩm" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "Ghi đè giá nội bộ" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "Nếu khả dụng, giá nội bộ ghi đè tính toán khoảng giá" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "Bật in tem nhãn" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "Bật chức năng in tem nhãn từ giao diện web" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "DPI hỉnh ảnh tem nhãn" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "Độ phân giải DPI khi tạo tệp hình ảnh để cung cấp cho plugin in ấn tem nhãn" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "Bật báo cáo" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "Cho phép tạo báo cáo" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "Chế độ gỡ lỗi" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "Tạo báo cáo trong chế độ gỡ lỗi (đầu ra HTML)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "Khổ giấy" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "Kích thước trang mặc định cho báo cáo PDF" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "Sê ri toàn cục duy nhất" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "Số sê ri cho hàng trong kho phải là duy nhất trong toàn hệ thống" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "Xóa kho đã hết hàng" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "Mẫu sinh mã theo lô" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "Mẫu tạo mã theo lô mặc định cho hàng trong kho" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "Quá hạn trong kho" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "Bật chức năng quá hạn tồn kho" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "Bán kho quá hạn" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "Cho phép bán hàng kho quá hạn" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "Thời gian hàng cũ trong kho" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "Số ngày hàng trong kho được xác định là cũ trước khi quá hạn" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "Dựng kho quá hạn" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "Cho phép xây dựng với kho hàng quá hạn" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "Kiểm soát sở hữu kho" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "Bật chức năng kiểm soát sở hữu kho với địa điểm và hàng trong kho" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "Biểu tượng địa điểm kho mặc định" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "Biểu tượng địa điểm kho hàng mặc định (trống nghĩa là không có biểu tượng)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "Hiển thị hàng hóa đã lắp đặt" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "Hiển thị hàng trong kho đã được lắp đặt trên bảng kho" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "Mã tham chiếu đơn đặt bản dựng" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "Mẫu bắt buộc cho để trường tham chiếu đơn đặt bản dựng" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "Bật đơn hàng trả lại" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "Bật chức năng đơn hàng trả lại trong giao diện người dùng" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "Mẫu tham chiếu đơn hàng trả lại" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "Sửa đơn hàng trả lại đã hoàn thành" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "Cho phép sửa đơn hàng trả lại sau khi đã hoàn thành rồi" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "Mẫu tham chiếu đơn đặt hàng" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "Mẫu bắt buộc để tạo trường tham chiếu đơn đặt hàng" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "Vận chuyển mặc định đơn đặt hàng" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "Cho phép tạo vận chuyển mặc định với đơn đặt hàng" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "Sửa đơn đặt hàng đã hoàn thành" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "Cho phép sửa đơn đặt hàng sau khi đã vận chuyển hoặc hoàn thành" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "Mẫu tham chiếu đơn đặt mua" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "Mẫu bắt buộc cho để trường tham chiếu đơn đặt mua" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "Sửa đơn đặt mua đã hoàn thành" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "Cho phép sửa đơn đặt mua sau khi đã vận chuyển hoặc hoàn thành" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "Tự động hoàn thành đơn đặt mua" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "Bật quên mật khẩu" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "Bật chức năng quên mật khẩu trong trang đăng nhập" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "Bật đăng ký" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "Cho phép người dùng tự đăng ký tại trang đăng nhập" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "Bật SSO" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "Cho phép SSO tại trang đăng nhập" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "Bật đăng ký SSO" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "Cho phép người dùng tự đăng ký SSO tại trang đăng nhập" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "Yêu cầu email" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "Yêu cầu người dùng cung cấp email để đăng ký" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "Người dùng tự động điền SSO" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "Tự động điền thông tin chi tiết từ dữ liệu tài khoản SSO" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "Thư 2 lần" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "Khi đăng ký sẽ hỏi người dùng hai lần thư điện tử của họ" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "Mật khẩu 2 lần" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "Khi đăng ký sẽ hỏi người dùng hai lần mật khẩu của họ" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "Các tên miền được phép" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "Cấm đăng ký với 1 số tên miền cụ thể (dấu phẩy ngăn cách, bắt đầu với dấu @)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "Nhóm khi đăng ký" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "Bắt buộc MFA" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "Người dùng phải sử dụng bảo mật đa nhân tố." -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "Kiểm tra phần mở rộng khi khởi động" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "Kiểm tra toàn bộ phần mở rộng đã được cài đặt khi khởi dộng - bật trong môi trường ảo hóa" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "Kiểm tra cập nhật plugin" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "Bật tích hợp URL" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "Bật phần mở rộng để thêm định tuyến URL" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "Bật tích hợp điều hướng" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "Bật phần mở rộng để tích hợp thanh định hướng" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "Bật tích hợp ứng dụng" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "Bật phần mở rộng để thêm ứng dụng" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "Cho phép tích hợp lập lịch" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "Bật phẩn mở rộng để chạy các tác vụ theo lịch" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "Bật tích hợp nguồn cấp sự kiện" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "Bật phần mở rộng để trả lời sự kiện bên trong" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "Chức năng kiểm kê" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "Bật chức năng kiểm kê theo mức độ ghi nhận kho và tính toán giá trị kho" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "Ngoại trừ vị trí bên ngoài" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "Loại trừ hàng trong kho thuộc địa điểm bên ngoài ra khỏi tính toán kiểm kê" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "Giai đoạn kiểm kê tự động" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "Số ngày giữa ghi chép kiểm kê tự động (đặt không để tắt)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "Khoảng thời gian xóa báo cáo" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "Báo cáo kiểm kê sẽ bị xóa sau số ngày xác định" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "Hiển thị tên đầy đủ của người dùng" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "Hiển thị tên đầy đủ thay vì tên đăng nhập" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "Định dạng ưa chuộng khi hiển thị ngày" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "Lập lịch sản phẩm" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "Hiển thị thông tin lịch sản phẩm" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "Kiểm kê sản phẩm" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "Hiển thị thông tin kiểm kê sản phẩm (nếu chức năng kiểm kê được bật)" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "Nhận báo cáo lỗi" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "Nhận thông báo khi có lỗi hệ thống" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "" @@ -3499,13 +3624,13 @@ msgstr "" msgid "Supplier is Active" msgstr "" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "Nhà sản xuất" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "Doanh nghiêp" @@ -3513,331 +3638,331 @@ msgstr "Doanh nghiêp" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "Doanh nghiệp" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "Mô tả công ty" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "Mô tả của công ty" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "Trang web" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "URL trang web của công ty" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "Số điện thoại" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "Số điện thoại liên hệ" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "Địa chỉ email liên hệ" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "Liên hệ" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "Đầu mối liên hệ" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "Liên kết đến thông tin công ty ngoài" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "Bạn có bán hàng cho công ty này?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "Bạn có mua hàng từ công ty này?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "Công ty này có sản xuất sản phẩm?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "Tiền tệ mặc định dùng cho công ty này" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "Địa chỉ" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "Địa chỉ" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "Chọn doanh nghiệp" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "Tiêu đề địa chỉ" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "Tiêu đề mô tả mục địa chỉ" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "Địa chỉ chính" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "Đặt làm địa chỉ chính" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "Dòng 1" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "Địa chỉ dòng 1" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "Dòng 2" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "Địa chỉ dòng 2" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "Mã bưu chính" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "Thành phố/Vùng" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "Mã bưu chính thành phố/vùng" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "Bang/Tỉnh" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "Bang hay tỉnh" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "Quốc gia" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "Địa chỉ quốc gia" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "Ghi chú vận chuyển" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "Ghi chú dành cho chuyển phát nhanh" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "Ghi chú nội bọ chuyển phát nhanh" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "Ghi chú nội bộ sử dụng cho chuyển phát nhanh" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "Liên kết thông tin địa chỉ (bên ngoài)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "Sản phẩm nhà sản xuất" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "Sản phẩm cơ bản" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "Chọn sản phẩm" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "Chọn nhà sản xuất" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "Mã số nhà sản xuất" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "URL cho liên kết sản phẩm của nhà sản xuất bên ngoài" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "Mô tả sản phẩm của nhà sản xuất" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "Tên tham số" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "Giá trị tham số" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "Đơn vị" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "Đơn vị tham số" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "Đơn vị đóng gói phải tương thích với đơn vị sản phẩm cơ bản" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "Đơn vị đóng gói phải lớn hơn không" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "Sản phẩm nhà sản xuất đã liên kết phải tham chiếu với sản phẩm cơ bản tương tự" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "Nhà cung cấp" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "Chọn nhà cung cấp" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "Đơn vị quản lý kho nhà cung cấp" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "Chọn sản phẩm của nhà sản xuất" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "URL cho liên kết sản phẩm của nhà cung cấp bên ngoài" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "Mô tả sản phẩm nhà cung cấp" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "Ghi chú" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "chi phí cơ sở" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "Đóng gói" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "Đóng gói sản phẩm" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "Số lượng gói" -#: company/models.py:858 +#: company/models.py:891 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:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "nhiều" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "Đặt hàng nhiều" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "Số lượng có sẵn từ nhà cung cấp" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "Sẵn hàng đã được cập nhật" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "Ngày cập nhật cuối thông tin tồn kho" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "" @@ -3853,7 +3978,7 @@ msgstr "Tiền tệ mặc định được sử dụng cho nhà cung cấp này" msgid "Company Name" msgstr "" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "Còn hàng" @@ -3889,10 +4014,6 @@ msgstr "" msgid "Custom status key" msgstr "" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "Khóa" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "" msgid "Errors" msgstr "" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "Hợp lệ" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "Mã đặt hàng" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "Trạng thái" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "Số lượng phải là số dương" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "Đã nhận" msgid "Number of items received" msgstr "Số mục đã nhận" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "Giá mua" @@ -4850,11 +4971,11 @@ msgstr "" msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "Mã sản phẩm nội bộ" @@ -5046,130 +5167,114 @@ msgstr "Hoàn tiền" msgid "Reject" msgstr "Từ chối" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "Đơn đặt mua quá hạn" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "Đơn đặt mua {po} quá hạn" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "Đơn bán hàng quá hạn" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "Đơn bán hàng {so} đã quá hạn" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "Đơn đặt mua vào" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "Đơn hàng bán ra" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "Kho sản xuất bởi Đơn đặt bản dựng" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "Kho được yêu cầu cho đơn đặt bản dựng" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "Xác minh toàn bộ hóa đơn vật liệu" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "Tùy chọn này phải được chọn" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "" @@ -5219,7 +5324,7 @@ msgstr "Biểu tượng (tùy chọn)" 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:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "Nguyên liệu" @@ -5335,7 +5440,7 @@ msgstr "Từ khóa sản phẩm để cải thiện sự hiện diện trong k msgid "Part category" msgstr "Danh mục sản phẩm" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -5344,7 +5449,7 @@ msgstr "" 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:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "Phiên bản" @@ -5376,7 +5481,7 @@ msgstr "Hết hạn mặc định" 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:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "Kho tối thiểu" @@ -5612,7 +5717,7 @@ msgstr "Số mục kho độc lậo tại thời điểm kiểm kê" 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:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "Ngày" @@ -5713,7 +5818,7 @@ msgstr "Mô tả kiểm thử" msgid "Enter description for this test" msgstr "Nhập mô tả cho kiểm thử này" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "Đã bật" @@ -5977,359 +6082,351 @@ msgstr "" msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "Loại tiền mua hàng của hàng hóa này" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "Sản phẩm gốc" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "Chọn sản phẩm gốc để nhân bản" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "Sao chép ảnh" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "Sao chép hình ảnh từ sản phẩm gốc" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "Sao chép BOM" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "Sao chép định mức nguyên vật liệu từ sản phẩm gốc" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "Sao chép thông số" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "Sao chép thông tin tham số từ sản phẩm gốc" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "Sao chép ghi chú" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "Sao chép ghi chú từ sản phẩm gốc" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "Số liệu tồn kho ban đầu" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Chỉ ra số lượng tồn kho ban đầu cho sản phẩm. Nếu điền là không, không thêm kho nào." -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "Vị trí kho ban đầu" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "Chỉ định vị trí kho ban đầu cho sản phẩm này" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "Chọn nhà cung cấp (hoặc để trống để bỏ qua)" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "Chọn nhà sản xuất (hoặc để trống để bỏ qua)" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "Mã số nhà sản xuất" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "Công ty đã chọn không phải là nhà cung ứng hợp lệ" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "Công ty đã chọn không phải là nhà sản xuất hợp lệ" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "Mã số nhà sản xuất khớp với MPN này đã tồn tại" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "Mã số nhà cung cấp khớp với SKU này đã tồn tại" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "Tên danh mục" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "Đang dựng" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "Hàng trong kho" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "Nhà cung cấp" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Tổng số lượng" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "Nhân bản sản phẩm" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "Sao chép dữ liệu ban đầu từ sản phẩm khác" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "Số liệu kho ban đầu" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "Tạo sản phẩm với số lượng tồn kho ban đầu" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "Thông tin nhà cung cấp" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "Thêm thông tin nhà cung cấp ban đầu cho sản phẩm này" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "Sao chép mẫu tham số từ nhóm sản phẩm được chọn" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "Ảnh hiện có" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "Tên tệp của ảnh sản phẩm hiện hữu" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "Tệp hình ảnh không tồn tại" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "Có thể dựng" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "Hạn chế báo cáo kiểm kê với sản phẩm riêng biệt và sản phẩm biến thể bất kỳ" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "Hạn chế báo cáo kiểm kê với danh mục sản phẩm riêng biệt và danh mục con bất kỳ" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "Hạn chế báo cáo kiểm kê với vị trí kho riêng biệt và vị trí con bất kỳ" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "Ngoại trừ kho bên ngoài" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "Loại trừ hàng trong kho của vị trí bên ngoài" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "Tạo báo cáo" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "Tạo tệp báo cáo chứa dữ liệu kiểm kê đã tính toán" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "Cập nhật sản phẩm" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "Cập nhật sản phẩm cụ thể với dữ liệu kiểm kê đã tính" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "Chức năng kiểm kê chưa được bật" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "Nhân công chạy ngầm kiểm tra thất bại" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "Giá thấp nhất" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "Giá trị tính toán ghi đè cho giá tối thiểu" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "Tiền tế giá tối thiểu" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "Giá cao nhất" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "Giá trị tính toán ghi đè cho giá tối đa" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "Tiền tế giá tối đa" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "Cập nhật" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "Cập nhật giá cho sản phẩm này" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Không thể chuyển đổi từ tiền tệ đã cung cấp cho {default_currency}" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "Giá tối thiểu không được lớn hơn giá tối đa" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "Giá tối đa không được nhỏ hơn giá tối thiểu" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "Chọn sản phẩm để sao chép định mức nguyên vật liệu" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "Xóa dữ liệu đã tồn tại" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "Xóa mục BOM đã tồn tại trước khi sao chép" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "Bao gồm thừa hưởng" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "Bao gồm mục BOM được thừa hưởng từ sản phẩm mẫu" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "Bỏ qua dòng không hợp lệ" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "Bật tùy chọn này để bỏ qua dòng không hợp lệ" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "Sao chép sản phẩm thay thế" -#: part/serializers.py:2056 +#: part/serializers.py:2023 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" @@ -6651,8 +6748,8 @@ msgstr "Cung cấp hỗ trợ gốc cho mã vạch" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "Người đóng góp InvenTree" @@ -6979,7 +7076,7 @@ msgstr "Viền" msgid "Print a border around each label" msgstr "In một viền xung quanh từng nhãn" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "Ngang" @@ -7011,51 +7108,51 @@ msgstr "Nhãn quá lớn so với khổ giấy" msgid "No labels were generated" msgstr "Chưa tạo nhãn nào" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "Tích hợp nhà cung cấp - DigiKey" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "Hỗ trợ quét mã vạch DigiKey" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "Nhà cung cấp hành động như 'DigiKey'" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "Tích hợp nhà cung cấp - LCSC" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "Cung cấp khả năng quét mã vạch LCSC" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "Nhà cung cấp hoạt động như 'LCSC'" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "Tích hợp nhà cung cấp - Mouser" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "Cung cấp khả năng quét mã vạch Mouser" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "Nhà cung cấp hành động như 'Mouser'" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "Tích hợp nhà cung cấp - TME" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "Cung cấp khả năng quét mã vạch TME" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "Nhà cung cấp hoạt động như 'TME'" @@ -7160,21 +7257,21 @@ msgstr "Phần bổ sung" msgid "Method" msgstr "Phương thức" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "Không tìm thấy tác giả" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "Phần bổ sung '{p}' không tương thích với phiên bản InvenTree hiện tại {v}" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "Phần bổ sung yêu cầu ít nhất phiên bản {v}" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "Phần bổ sung yêu cầu tối đa phiên bản {v}" @@ -7203,11 +7300,11 @@ msgstr "Kiểu số" msgid "A numerical setting" msgstr "Thiết lập con số" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "Thiết lập lựa chọn" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "Một thiết lập với nhiều lựa chọn" @@ -7355,43 +7452,43 @@ msgstr "" msgid "Collect plugins and add them to the registry" msgstr "" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "Kích hoạt phần bổ sung" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "Kích hoạt phần bổ sung này" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "" @@ -7415,132 +7512,140 @@ msgstr "Thư" msgid "Template file with this name already exists" msgstr "" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "Tên mẫu" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "Mẫu tên tệp" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "Bộ lọc" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "Khổ giấy cho báo cáo PDF" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "Tạo báo cáo theo hướng ngang" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "Chiều rộng [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "Chiều rộng nhãn, tính theo mm" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "Chiều cao [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "Chiều cao nhãn, tính theo mm" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "Mẫu trích" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "Tệp báo cáo mẫu" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "Mô tả tệp báo cáo mẫu" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "Tài sản" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "Tệp báo cáo tài sản" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "Mô tả tệp báo cáo tài sản" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "" @@ -7567,6 +7672,8 @@ msgstr "Vật liệu cần có" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "Tổng cộng" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "Hàng loạt" msgid "Stock location items" msgstr "Mục vị trí kho hàng" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "Báo cáo kiểm thử mặt hàng" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "Mục đã cài đặt" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "Sê-ri" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "Kết quả kiểm tra" @@ -7647,15 +7767,6 @@ msgstr "Không có kết quả (bắt buộc)" msgid "No result" msgstr "Không có kết quả" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "Mục đã cài đặt" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "Sê-ri" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "Tệp tin tài sản không tồn tại" @@ -7672,123 +7783,123 @@ msgstr "thẻ part_image yêu cầu 1 thực thể sản phẩm" msgid "company_image tag requires a Company instance" msgstr "thẻ company_image yêu cầu một thực thể doanh nghiệp" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "Mã trạng thái" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "Địa điểm bên ngoài" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "Cây sản phẩm" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "Ngày hết hạn trước đó" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "Ngày hết hạn sau đó" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "Ế" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "Bắt buộc nhập số lượng" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "Phải cung cấp sản phẩm hợp lệ" -#: stock/api.py:1019 +#: stock/api.py:1038 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:1029 +#: stock/api.py:1048 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:1056 +#: stock/api.py:1080 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" @@ -7897,7 +8008,7 @@ msgstr "Chọn sản phẩm nhà cung cấp khớp với hàng hóa trong kho n msgid "Where is this stock item located?" msgstr "Hàng trong kho này được đặt ở đâu?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "Đóng gói hàng hóa này được lưu trữ lại" @@ -7913,7 +8024,7 @@ msgstr "Mục này đã được cài đặt trong mục khác?" msgid "Serial number for this item" msgstr "Số sê ri cho mục này" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "Mã lô cho hàng trong kho này" @@ -7969,136 +8080,136 @@ msgstr "Giá mua riêng lẻ tại thời điểm mua" msgid "Converted to part" msgstr "Đã chuyển đổi sang sản phẩm" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "Chưa đặt sản phẩm thành có thể theo dõi" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "Số lượng phải là số nguyên" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "Số lượng không thể vượt quá số lượng trong kho đang có ({self.quantity})" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "Số lượng không khớp với số sêri" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "" -#: stock/models.py:1886 +#: stock/models.py:1899 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:1890 +#: stock/models.py:1903 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:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "Hàng trong kho chứa hàng hóa khác" -#: stock/models.py:1896 +#: stock/models.py:1909 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:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "Hàng trong kho hiện đang sản xuất" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "Không thể hợp nhất kho nối tiếp" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "Mặt hàng trùng lặp" -#: stock/models.py:1913 +#: stock/models.py:1926 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:1921 +#: stock/models.py:1934 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:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "Mã trạng thái kho phải phù hợp" -#: stock/models.py:2196 +#: stock/models.py:2209 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:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "Ghi chú đầu vào" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "" -#: stock/models.py:2780 +#: stock/models.py:2793 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:2784 +#: stock/models.py:2797 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:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "Kết quả kiểm thử" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "Giá trị đầu ra kiểm thử" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "Đính kèm kết quả kiểm thử" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "Ghi chú kiểm thử" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "" @@ -8170,201 +8281,201 @@ msgstr "" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Sử dụng kích thước đóng gói khi thêm: Số lượng được định nghĩa là số của gói" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "Số hiệu hàng hoá nhà cung cấp" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "Đã hết hạn" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "Mục con" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "Giá mua của mặt hàng, theo đơn vị hoặc gói" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "Nhập số của mặt hàng cần tạo số nối tiếp" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Số lượng phải không vượt quá số lượng trong kho đang có ({q})" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "Điền số sêri cho hàng hóa mới" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "Vị trí kho đích" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "Trường ghi chú tùy chọn" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "Không thể gán số sêri cho sản phẩm này" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "Số sêri đã tồn tại" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "Chọn mặt hàng để lắp đặt" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "Số lượng để cài đặt" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "Nhập số lượng hàng hóa để cài đặt" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "Thêm ghi chú giao dịch (tùy chọn)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "Số lượng cần cài đặt phải ít nhất là 1" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "Mặt hàng không khả dụng" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "Sản phẩm đã chọn không có trong hóa đơn vật liệu" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "Số lượng cần lắp đặt phải không vượt quá số lượng đang có" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "Vị trí đích cho hàng hóa bị gỡ bỏ" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "Chọn sản phẩm để chuyển đổi mặt hàng vào bên trong" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "Sản phẩm đã chọn không phải là tùy chọn hợp lệ để chuyển đổi" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Không thể chuyển đổi hàng hóa với sản phẩm nhà cung cấp đã gán" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "Mã trạng thái mặt hàng" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "Vị trí đích dành cho hàng hóa trả lại" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "Chọn mặt hàng để đổi trạng thái" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "Không có mặt hàng nào được chọn" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "Kho phụ" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "Sản phẩm phải có thể bán được" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "Hàng hóa được phân bổ đến một đơn hàng bán" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "Hàng hóa được phân bổ đến một đơn đặt bản dựng" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "Khách hàng được gán vào các mặt hàng" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "Công ty đã chọn không phải là khách hàng" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "Ghi chú phân bổ kho" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "Phải cung cấp danh sách mặt hàng" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "Ghi chú gộp kho" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "Cho phép nhiều nhà cung không khớp" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "Cho phép mặt hàng cùng sản phẩm nhà cung cấp khác phải được gộp" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "Cho phép trạng thái không khớp" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "Cho phép mặt hàng với mã trạng thái khác nhau để gộp lại" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "Cần cung cấp ít nhất hai mặt hàng" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "Giá trị khóa chính mặt hàng" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "Ghi chú giao dịch kho" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po index d564c93bcf..9cf602186a 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "您必须启用双重身份验证才能进行后续操作。" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "未找到 API 端点" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "批量操作必须提供物品或过滤器列表" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "必须以列表形式提供项目" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "提供了无效的单位" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "必须以字典形式提供筛选器" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "提供了无效的过滤器" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "所有过滤器只能使用true" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "没有符合所供条件的项目" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "用户没有权限查阅当前模型。" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "无效的数值" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "备注" @@ -356,7 +356,7 @@ msgstr "中文 (繁体)" msgid "Log in to the app" msgstr "登录应用程序" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "电子邮件" @@ -408,19 +408,19 @@ msgstr "同一個上層元件下不能有重複的名字" msgid "Invalid choice" msgstr "無效的選項" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "名稱" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "描述" msgid "Description (optional)" msgstr "描述(選填)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "路径" @@ -479,11 +479,11 @@ msgstr "伺服器紀錄了一個錯誤。" msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "貨幣" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "從可用選項中選擇貨幣" @@ -527,29 +527,29 @@ msgstr "損失率不能超過100%" msgid "Invalid value for overage" msgstr "無效的損失值" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "订单状态" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "上層生產工單" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "包含变体" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "包含变体" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "包含变体" msgid "Part" msgstr "零件" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "类别" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "可测试部分" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "分配给我" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "发布者" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "负责人" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "创建于" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "在此之后创建" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "有开始日期" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "开始日期之前" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "开始日期晚于" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "排除树" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "工單必須被取消才能被刪除" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "耗材" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "非必須項目" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "装配" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "追蹤中" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "可测试" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "未结算订单" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "已分配" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "可用数量" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "生產狀態代碼" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "批号" @@ -854,7 +854,7 @@ msgstr "發布者" msgid "User who issued this build order" msgstr "發布此生產工單的使用者" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "負責此生產工單的使用者或群組" msgid "External Link" msgstr "外部連結" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "外部URL連結" @@ -881,7 +881,7 @@ msgstr "製造優先度" msgid "Priority of this build order" msgstr "此生产订单的优先级" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "專案代碼" @@ -903,51 +903,50 @@ msgstr "生產工單 {build} 已經完成" msgid "A build order has been completed" msgstr "一張生產工單已經完成" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "对于可跟踪的零件,必须提供序列号" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "未指定产出" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "产出已完成" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "产出与生产订单不匹配" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "數量必須大於零" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "数量不能大于输出数量" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "产出 {serial} 未通过所有必要测试" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "生产订单行项目" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "生产对象" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "生产对象" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "數量" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "生產工單所需數量" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生产项必须指定产出,因为主零件已经被标记为可追踪的" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配的數量({q})不能超過可用的庫存數量({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "庫存品項超額分配" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "分配的數量必須大於零" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "有序號的品項數量必須為1" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "選擇的庫存品項和BOM的項目不符" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "庫存品項" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "來源庫存項目" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "要分配的庫存數量" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "安裝到" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "目的庫存品項" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "因為BOM包含可追蹤的零件,所以數量必須為整數" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "序號" @@ -1070,10 +1071,10 @@ msgstr "输出产出的序列号" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "地點" @@ -1089,8 +1090,8 @@ msgstr "自動分配序號" msgid "Automatically allocate required items with matching serial numbers" msgstr "自動為需要項目分配對應的序號" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "序號已存在或無效" @@ -1222,7 +1223,7 @@ msgstr "生产行项目" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单零件相同" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "项目必须在库存中" @@ -1299,13 +1300,13 @@ msgstr "物料清单零件名称" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "供应商零件" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "已分配数量" @@ -1317,7 +1318,7 @@ msgstr "构建参考" msgid "Part Category Name" msgstr "零件类别名称" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "可追踪" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "允许变体" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "物料清单项" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "分配库存" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "已订购" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "生产中" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "外部库存" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "可用库存" @@ -1391,32 +1392,32 @@ msgstr "已取消" msgid "Complete" msgstr "完成" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "生产订单所需库存" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "逾期的生产订单" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "生产订单 {bo} 现已逾期" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "是否链接" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "是否为文件" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "用户没有权限删除此附件" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "用户没有权限删除此附件" @@ -1436,61 +1437,61 @@ msgstr "未提供有效的货币代码" msgid "No plugin" msgstr "暂无插件" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "已是最新" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "最后更新时间戳" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "唯一项目编码" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "项目描述" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "负责此项目的用户或群组" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "设置密钥" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "设定值" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "所选值不是一个有效的选项" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "该值必须是布尔值" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "该值必须为整数" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "必须是有效数字" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "值未通过验证检查" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "键字符串必须是唯一的" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "键字符串必须是唯一的" msgid "User" msgstr "使用者" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "批发价数量" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "价格" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "指定数量的单位价格" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "端点" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "接收此网络钩子的端点" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "此网络钩子的名称" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "激活" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "网络钩子是否已启用" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "令牌" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "访问令牌" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "密钥" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "HMAC共享密钥" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "消息ID" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "此邮件的唯一标识符" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "主机" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "接收此消息的主机" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "标题" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "此消息的标题" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "正文" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "此消息的正文" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "接收此消息的终点" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "工作于" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "这条消息的工作完成了吗?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "标识" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "标题" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "連結" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "已发布" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "作者" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "摘要" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "阅读" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "这条新闻被阅读了吗?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "图像" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "图像文件" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "此图像的目标模型类型" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "此图像的目标型号ID" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "自定义单位" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "单位符号必须唯一" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "单位名称必须是有效的标识符" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "单位名称" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "符号" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "可选单位符号" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "定义" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "单位定义" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "附件" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "缺少檔案" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "缺少外部連結" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "選擇附件" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "註解" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "附件评论" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "上传日期" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "上传文件的日期" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "文件大小" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "文件大小,以字节为单位" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "为附件指定的模型类型无效" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "自定状态" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "定制状态" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "参考状态设置" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "使用此自定义状态扩展状态的状态集" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "逻辑密钥" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "等同于商业逻辑中自定义状态的状态逻辑键" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "值" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "状态名" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "标签" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "将在前端显示的标签" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "颜色" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "将在前端显示颜色" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "型号" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "该状态关联的模型" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "必须选定模型" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "必须选取密钥" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "必须选中逻辑密钥" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "密钥必须不同于逻辑密钥" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "密钥必须不同于参考状态的逻辑密钥" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "逻辑密钥必须在参考状态的逻辑键中" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "已锁定" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "已创建" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "最近更新" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "扫描条码" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "数据" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "条码数据" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "扫描条形码" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "时间戳" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "扫描条形码的日期和时间" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "处理条形码的 URL 终点" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "上下文" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "扫描条形码的上下文数据" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "响应" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "扫描条形码的响应数据" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "结果" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "条码扫描成功吗?" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "键" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "正在运行" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "等待完成的任务" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "预定的任务" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "失败的任务" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "任务ID" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "唯一任务ID" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "锁定" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "锁定时间" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "任务名称" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "功能" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "功能名称" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "参数" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "任务参数" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "关键字参数" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "任务关键词参数" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "檔案名稱" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "模型类型" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "用户无权为此模式创建或编辑附件" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "无分组" msgid "Site URL is locked by configuration" msgstr "网站 URL 已配置为锁定" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "需要重启" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "设置已更改,需要服务器重启" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "等待迁移" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "待处理的数据库迁移数" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "服务器实例名称" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "服务器实例的字符串描述符" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "使用实例名称" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "在标题栏中使用实例名称" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "限制显示 `关于` 信息" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "只向超级管理员显示关于信息" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "公司名称" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "内部公司名称" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "基本 URL" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "服务器实例的基准 URL" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "默认货币单位" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "选择价格计算的默认货币" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "支持币种" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "支持的货币代码列表" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "货币更新间隔时间" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "检查更新的频率(设置为零以禁用)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "天" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "币种更新插件" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "使用货币更新插件" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "从URL下载" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "允许从外部 URL 下载远程图片和文件" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "下载大小限制" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "远程图片的最大允许下载大小" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "用于从 URL 下载的 User-agent" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "允许覆盖用于从外部 URL 下载图片和文件的 user-agent(留空为默认值)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "严格的 URL 验证" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "验证 URL 时需要 schema 规范" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "更新检查间隔" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "检查更新的频率(设置为零以禁用)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "自動備份" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "啟動資料庫和媒體文件自動備份" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "自動備份間隔" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "指定自动备份之间的间隔天数" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "任务删除间隔" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "后台任务结果将在指定天数后删除" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "错误日志删除间隔" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "错误日志将在指定天数后被删除" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "通知删除间隔" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "用户通知将在指定天数后被删除" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "条形码支持" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "在网页界面启用条形码扫描器支持" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "存储条码结果" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "存储条形码扫描结果" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "条码扫描最大计数" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "存储条码扫描结果的最大数量" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "条形码扫描延迟设置" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "条形码输入处理延迟时间" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "条码摄像头支持" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "允许通过网络摄像头扫描条形码" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "条形码显示数据" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "在浏览器中将条形码数据显示为文本" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "条形码生成插件" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "用于内部条形码数据生成的插件" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "零件修订" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "启用零件修订字段" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "仅限装配修订版本" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "仅允许对装配零件进行修订" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "允许从装配中删除" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "允许删除已在装配中使用的零件" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "IPN 内部零件号" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "匹配零件 IPN(内部零件号)的正则表达式模式" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "允许重复的 IPN(内部零件号)" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "允许多个零件共享相同的 IPN(内部零件号)" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "允许编辑 IPN(内部零件号)" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "允许编辑零件时更改内部零件号" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "复制零件物料清单数据" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "复制零件时默认复制物料清单数据" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "复制零件参数数据" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "复制零件时默认复制参数数据" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "复制零件测试数据" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "复制零件时默认复制测试数据" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "复制类别参数模板" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "创建零件时复制类别参数模板" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "模板" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "零件默认为模板" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "默认情况下,元件可由其他零件组装而成" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "组件" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "默认情况下,零件可用作子部件" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "可购买" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "默认情况下可购买零件" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "可销售" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "零件默认为可销售" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "默认情况下可跟踪零件" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "虚拟的" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "默认情况下,零件是虚拟的" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "显示相关零件" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "显示零件的相关零件" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "初始库存数据" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "允许在添加新零件时创建初始库存" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "初始供应商数据" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "允许在添加新零件时创建初始供应商数据" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "零件名称显示格式" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "显示零件名称的格式" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "零件类别默认图标" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "零件类别默认图标 (空表示没有图标)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "强制参数单位" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "如果提供了单位,参数值必须与指定的单位匹配" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "最小定价小数位数" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "呈现定价数据时显示的最小小数位数" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "最大定价小数位数" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "呈现定价数据时显示的最大小数位数" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "使用供应商定价" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "将供应商的价批发价纳入总体定价计算中" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "购买历史记录覆盖" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "历史采购订单定价优先于供应商批发价" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "使用库存项定价" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "使用手动输入的库存数据进行定价计算" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "库存项目定价时间" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "从定价计算中排除超过此天数的库存项目" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "使用变体定价" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "在整体定价计算中包括变体定价" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "仅限活跃变体" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "仅使用活跃变体零件计算变体价格" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "价格重建间隔" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "零件价格自动更新前的天数" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "内部价格" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "启用内部零件价格" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "覆盖内部价格" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "如果有内部价格,内部价格将覆盖价格范围计算" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "启用标签打印功能" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "启用从网络界面打印标签" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "标签图片 DPI" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "生成图像文件以供标签打印插件使用时的 DPI 分辨率" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "启用报告" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "启用报告生成" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "调试模式" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "以调试模式生成报告(HTML 输出)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "日志错误报告" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "记录生成报告时出现的错误" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "页面大小" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "PDF 报告默认页面大小" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "全局唯一序列号" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "库存项的序列号必须全局唯一" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "删除已耗尽的库存" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "设置库存耗尽时的默认行为" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "批号模板" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "为库存项生成默认批号的模板" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "库存过期" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "启用库存过期功能" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "销售过期库存" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "允许销售过期库存" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "库存过期时间" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "库存项在到期前被视为过期的天数" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "生产过期库存" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "允许用过期的库存生产" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "库存所有权控制" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "启用库存地点和项目的所有权控制" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "库存地点默认图标" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "库存地点默认图标 (空表示没有图标)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "显示已安装的库存项" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "在库存表中显示已安装的库存项" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "在安装项目时检查物料清单" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "已安装的库存项目必须存在于上级零件的物料清单中" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "允许超出库存转移" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "允许非库存的库存项目在库存位置之间转移" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "生产订单参考模式" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "生成生产订单参考字段所需的模式" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "要求负责人" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "必须为每个订单分配一个负责人" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "需要活动零件" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "防止为非活动零件创建生产订单" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "需要锁定零件" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "防止为未锁定的零件创建生产订单" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "需要有效的物料清单" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "除非物料清单已验证,否则禁止创建生产订单" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "需要关闭子订单" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "在所有子订单关闭之前,阻止生产订单的完成" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "阻止直到测试通过" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "在所有必要的测试通过之前,阻止产出完成" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "启用订单退货" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "在用户界面中启用订单退货功能" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "退货订单参考模式" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "生成退货订单参考字段所需的模式" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "编辑已完成的退货订单" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "允许编辑已完成的退货订单" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "销售订单参考模式" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "生成销售订单参考字段所需参照模式" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "销售订单默认配送方式" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "启用创建销售订单的默认配送功能" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "编辑已完成的销售订单" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "允许在订单配送或完成后编辑销售订单" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "标记该订单为已完成?" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "标记为已发货的销售订单将自动完成,绕过“已发货”状态" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "采购订单参考模式" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "生成采购订单参考字段所需的模式" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "编辑已完成的采购订单" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "允许在采购订单已配送或完成后编辑订单" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "自动完成采购订单" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "当收到所有行项目时,自动将采购订单标记为完成" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "忘记启用密码" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "在登录页面上启用忘记密码功能" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "启用注册" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "在登录页面为用户启用自行注册功能" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "启用单点登录" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "在登录界面启用单点登录" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "启用单点登录注册" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "允许登录页面上的用户通过 SSO 进行自我注册" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "启用单点登录群组同步" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "启用库存管理系统组和由身份提供者提供的组的同步功能" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "单点登录系统组密钥" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "由身份提供者提供的组声明属性名称" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "单点登录系统组地图" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "从单点登录系统组组到本地库存管理系统组的映射。如果本地组不存在,它将被创建。" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "移除单点登录系统以外的群组" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "如果分配给用户的组不是身份提供者的后端,是否应该删除它们。禁用此设置可能会造成安全问题" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "需要邮箱地址" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "要求用户在注册时提供邮件" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "自动填充单点登录系统用户" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "自动使用单点登录系统账户的数据填写用户详细信息" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "发两次邮件" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "注册时询问用户他们的电子邮件两次" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "两次输入密码" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "当注册时请用户输入密码两次" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "域名白名单" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "限制注册到某些域名 (逗号分隔,以 @ 开头)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "注册群组" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "注册时分配给新用户的组。 如果启用了单点登录系统群组同步,此群组仅在无法从 IdP 分配任何群组的情况下才被设置。" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "强制启用多因素安全认证" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "用户必须使用多因素安全认证。" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "启动时检查插件" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "启动时检查全部插件是否已安装 - 在容器环境中启用" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "检查插件更新" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "启用定期检查已安装插件的更新" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "启用统一资源定位符集成" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "启用插件以添加统一资源定位符路由" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "启用导航集成" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "启用插件以集成到导航中" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "启用应用集成" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "启用插件添加应用" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "启用调度集成" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "启用插件来运行预定任务" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "启用事件集成" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "启用插件响应内部事件" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "启用界面集成" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "启用插件集成到用户界面" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "盘点功能" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "启用盘点功能以记录库存水平和计算库存值" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "排除外部地点" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "从盘点计算中排除外部地点的库存项" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "自动盘点周期" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "自动盘点记录之间的天数 (设置为零以禁用)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "报告删除间隔" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "盘点报告将在指定天数后删除" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "显示用户全名" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "显示用户全名而不是用户名" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "启用测试站数据" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "启用测试站数据收集以获取测试结果" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "上传时创建模板" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "上传测试数据与现有模板不匹配时创建一个新的测试模板" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "显示时间的首选格式" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "零件调度" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "显示零件排程信息" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "零件盘点" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "显示零件盘点信息 (如果启用了盘点功能)" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "接收错误报告" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "接收系统错误通知" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "上次使用的打印设备" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "为用户保存上次使用的打印设备" @@ -3499,13 +3624,13 @@ msgstr "内部零件已激活" msgid "Supplier is Active" msgstr "供应商已激活" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "制造商" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "公司" @@ -3513,331 +3638,331 @@ msgstr "公司" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "公司" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "公司简介" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "公司简介" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "网站" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "公司网站" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "电话号码" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "联系电话" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "联系人电子邮箱地址" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "联系人" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "联络点" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "外部公司信息链接" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "这家公司是否激活?" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "是客户" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "你是否向该公司出售商品?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "是否为供应商" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "你从这家公司买东西吗?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "是制造商吗" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "这家公司生产零件吗?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "此公司使用的默认货币" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "地址" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "地址" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "选择公司" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "地址标题" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "描述地址条目的标题" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "主要地址" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "设置主要地址" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "第1行" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "地址行1" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "第2行" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "地址行2" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "邮政编码" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "城市/地区" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "邮政编码城市/地区" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "省/市/自治区" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "省、自治区或直辖市" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "国家/地区" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "地址所在国家" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "快递运单" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "运输快递注意事项" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "内部装运通知单" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "内部使用的装运通知单" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "链接地址信息 (外部)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "制造商零件" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "基础零件" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "选择零件" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "制造商零件编号" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "制造商零件编号" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "外部制造商零件链接的URL" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "制造商零件说明" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "制造商零件参数" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "参数名称" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "参数值" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "单位" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "参数单位" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "包装单位必须与基础零件单位兼容" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "包装单位必须大于零" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "链接的制造商零件必须引用相同的基础零件" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "供应商" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "供应商库存管理单位" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "此供应商零件是否处于活动状态?" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "选择制造商零件" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "外部供应商零件链接的URL" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "供应商零件说明" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "备注" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "基本费用" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低费用(例如库存费)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "打包" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "零件打包" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "包装数量" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "单包供应的总数量。为单个项目留空。" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "多个" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "订购多个" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "供应商提供的数量" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "可用性已更新" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "上次更新可用性数据的日期" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "供应商批发价" @@ -3853,7 +3978,7 @@ msgstr "此供应商使用的默认货币" msgid "Company Name" msgstr "公司名称" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "有库存" @@ -3889,10 +4014,6 @@ msgstr "此项目的附加状态信息" msgid "Custom status key" msgstr "自定义状态密钥" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "键" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "原始行数据" msgid "Errors" msgstr "错误" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "有效" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "订单参考" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "狀態" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "数量必须是正数" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "已接收" msgid "Number of items received" msgstr "收到的物品数量" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "采购价格" @@ -4850,11 +4971,11 @@ msgstr "合并项目" msgid "Merge items with the same part, destination and target date into one line item" msgstr "将具有相同零件、目的地和目标日期的项目合并到一个行项目中" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "库存量单位" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "内部零件编号" @@ -5046,130 +5167,114 @@ msgstr "退款" msgid "Reject" msgstr "拒絕" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "逾期采购订单" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "采购订单 {po} 已逾期" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "逾期销售订单" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "销售订单 {so} 已逾期" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "已加星标" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "按星标类别筛选" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "深度" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "按类别深度筛选" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "顶级" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "按顶级类别筛选" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "级联" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "在筛选结果中包含子类别" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "父类" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "按父类别筛选" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "排除指定类别下的子类别" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "有结果" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "收到的采购订单" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "外发销售订单" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "建造生产订单产生的库存" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "生产订单所需的库存" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "验证整个物料清单" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "必须选择此项" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "是修订版本" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "有修订版本" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "物料清单合规" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "装配部份是可测试的" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "组件部份是可测试的" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "使用" @@ -5219,7 +5324,7 @@ msgstr "图标(可选)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "您不能使这个零件类别结构化,因为有些零件已经分配给了它!" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "零件" @@ -5335,7 +5440,7 @@ msgstr "提高搜索结果可见性的零件关键字" msgid "Part category" msgstr "零件类别" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "内部零件号 IPN" @@ -5344,7 +5449,7 @@ msgstr "内部零件号 IPN" msgid "Part revision or version number" msgstr "零件修订版本或版本号" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "版本" @@ -5376,7 +5481,7 @@ msgstr "默认到期" msgid "Expiry time (in days) for stock items of this part" msgstr "此零件库存项的过期时间 (天)" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "最低库存" @@ -5612,7 +5717,7 @@ msgstr "盘点时的个别库存条目数" msgid "Total available stock at time of stocktake" msgstr "盘点时可用库存总额" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "日期" @@ -5713,7 +5818,7 @@ msgstr "测试说明" msgid "Enter description for this test" msgstr "输入测试的描述" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "已启用" @@ -5977,359 +6082,351 @@ msgstr "结果" msgid "Number of results recorded against this template" msgstr "根据该模板记录的结果数量" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "购买此库存项的货币" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "投机数量" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "型号ID" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "使用此模板的零件数" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "原始零件" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "选择要复制的原始零件" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "复制图片" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "从原零件复制图片" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "复制物料清单" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "从原始零件复制材料清单" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "复制参数" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "从原始零件复制参数数据" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "复制备注" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "从原始零件复制备注" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "初始化库存数量" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "指定此零件的初始库存数量。如果数量为零,则不添加任何库存。" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "初始化库存地点" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "初始化指定此零件的库存地点" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "选择供应商(或为空以跳过)" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "选择制造商(或为空)" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "制造商零件号" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "所选公司不是一个有效的供应商" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "所选公司不是一个有效的制造商" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "与此制造商零件编号 (MPN) 的相匹配的制造商零件已存在" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "匹配此库存单位 (SKU) 的供应商零件已存在" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "类别名称" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "正在生产" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "库存项" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "修订" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "供应商" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "库存总量" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "未分配的库存" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "变体库存" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "重复零件" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "从另一个零件复制初始数据" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "初始库存" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "创建具有初始库存数量的零件" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "供应商信息" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "添加此零件的初始供应商信息" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "从选择的零件复制参数模版" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "现有的图片" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "现有零件图片的文件名" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "图片不存在" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "可以创建" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "限制盘点报告到某个特定零件以及任何变体零件" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "限制盘点报告到某个特定零件类别以及任何子类别" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "限制盘点报告到某个特定零件库存地点以及任何子位置" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "排除外部库存" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "排除外部位置的库存项" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "生成报告" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "生成包含计算出来的盘点数据的报告文件" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "更新零件" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "使用计算出的盘点数据更新指定零件" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "盘点功能未启用" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "后台执行器检查失败" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "最低价格" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "覆盖已计算的最低价格值" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "最低价格货币" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "最高价格" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "覆盖已计算的最高价格值" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "最高价格货币" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "更新" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "更新这个零件的价格" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "无法将所提供的货币转换为 {default_currency}" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "最低价格不能高于最高价格。" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "最高价格不能低于最低价格" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "选择父装配" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "选择零部件" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "选择要复制物料清单的零件" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "移除现有数据" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "复制前删除现有的物料清单项目" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "包含继承的" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "包含从模板零件继承的物料清单项目" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "跳过无效行" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "启用此选项以跳过无效行" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "复制替代品零件" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "复制物料清单项目时复制替代品零件" @@ -6651,8 +6748,8 @@ msgstr "提供条形码本地支持" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "InvenTree 贡献者" @@ -6979,7 +7076,7 @@ msgstr "边框" msgid "Print a border around each label" msgstr "打印每个标签的边框" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "横屏模式" @@ -7011,51 +7108,51 @@ msgstr "标签大过页面" msgid "No labels were generated" msgstr "没有生成标签" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "供应商集成 - DigiKey" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "为扫描 DigiKey 条形码提供支持" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "作为“DigiKey”的供应商。" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "供应商集成 - LCSC" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "为扫描 LCSC 条形码提供支持" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "作为“LCSC”的供应商。" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "供应商集成 - Mouser" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "为扫描 Mouser条形码提供支持" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "作为“Mouser”的供应商。" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "供应商集成 - TME" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "为扫描 TME 条形码提供支持" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "作为‘TME’的供应商" @@ -7160,21 +7257,21 @@ msgstr "插件" msgid "Method" msgstr "方法" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "未找到作者" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "插件 '{p}' 与当前 InvenTree 版本{v} 不兼容" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "插件所需最低版本 {v}" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "插件所需最高版本 {v}" @@ -7203,11 +7300,11 @@ msgstr "数字化" msgid "A numerical setting" msgstr "数值设置" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "选择设置" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "带有多个选项的设置" @@ -7355,43 +7452,43 @@ msgstr "收集插件" msgid "Collect plugins and add them to the registry" msgstr "收集插件并添加到注册表中" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "激活插件" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "激活此插件" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "删除配置" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "从数据库中删除插件配置" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "项目" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "插件未找到" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "插件未激活" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "插件不支持标签打印" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "无效的标签尺寸" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "没有有效的项目提供到模板" @@ -7415,132 +7512,140 @@ msgstr "字母" msgid "Template file with this name already exists" msgstr "已存在具有此名称的模板" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "模版名称" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "模板说明" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "修订编号 (自动增量)" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "打印时附加到模型" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "打印时将报告输出保存为附件与链接模型实例" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "文件名样式" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "生成文件名模式" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "模板已启用" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "模版的目标模型类型" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "筛选器" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "模版查询筛选器 (逗号分隔的键值对列表)" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "模板包文件" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "PDF 报告的页面大小" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "横向渲染报告" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "宽度 [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "标签宽度,以毫米为单位。" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "高度 [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "标签高度,以毫米为单位。" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "代码片段" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "报告代码片段文件" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "代码片段文件描述" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "资产" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "报告资产文件" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "资产文件描述" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "选择报表模板" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "要包含在报告中的项目主键列表" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "选择标签模板" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "打印插件" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "选择用于标签打印的插件" @@ -7567,6 +7672,8 @@ msgstr "所需材料" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "总计" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "队列" msgid "Stock location items" msgstr "库存地点项目" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "库存项测试报告" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "已安装的项目" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "系列" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "测试结果" @@ -7647,15 +7767,6 @@ msgstr "无结果 (必填)" msgid "No result" msgstr "没有结果" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "已安装的项目" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "系列" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "资产文件不存在" @@ -7672,123 +7783,123 @@ msgstr "parpart_image 标签需要一个零件实例" msgid "company_image tag requires a Company instance" msgstr "公司_图片标签需要一个公司实例" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "按位置深度筛选" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "按顶级位置筛选" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "在筛选结果中包含子地点" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "上级地点" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "按上级位置筛选" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "零件名称 (不区分大小写)" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "零件名称包含 (不区分大小写)" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "零件名称 (正则表达式)" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "内部零件号 (不区分大小写)" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "内部零件号 (不区分大小写)" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "内部零件号 (正则表达式)" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "最低库存" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "最大库存" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "状态代码" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "外部地点" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "零件树" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "过期日期前" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "过期日期后" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "过期" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "请先输入数量" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "必须提供有效的零件" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "给定的供应商零件不存在" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "供应商零件有定义的包装大小,但 use_pack_size 标志未设置" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "不能为不可跟踪的零件提供序列号" @@ -7897,7 +8008,7 @@ msgstr "为此库存项目选择匹配的供应商零件" msgid "Where is this stock item located?" msgstr "这个库存物品在哪里?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "包装此库存物品存储在" @@ -7913,7 +8024,7 @@ msgstr "此项目是否安装在另一个项目中?" msgid "Serial number for this item" msgstr "此项目的序列号" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "此库存项的批号" @@ -7969,136 +8080,136 @@ msgstr "购买时一个单位的价格" msgid "Converted to part" msgstr "转换为零件" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "零件未设置为可跟踪" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "数量必须是整数" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "数量不得超过现有库存量 ({self.quantity})" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "必须以列表形式提供序列号" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "数量不匹配序列号" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "测试模板不存在" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "库存项已分配到销售订单" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "库存项已安装在另一个项目中" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "库存项包含其他项目" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "库存项已分配给客户" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "库存项目前正在生产" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "序列化的库存不能合并" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "复制库存项" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "库存项必须指相同零件" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "库存项必须是同一供应商的零件" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "库存状态码必须匹配" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "库存项不能移动,因为它没有库存" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "库存项跟踪" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "条目注释" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "库存项测试结果" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "必须为此测试提供值" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "测试附件必须上传" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "此测试的值无效" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "测试结果" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "测试输出值" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "测验结果附件" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "测试备注" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "测试站" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "进行测试的测试站的标识符" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "已开始" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "测试开始的时间戳" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "已完成" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "测试结束的时间戳" @@ -8170,201 +8281,201 @@ msgstr "父库存项" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "添加时使用包装尺寸:定义的数量是包装的数量" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "供应商零件编号" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "已过期" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "子项目" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "跟踪项目" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "此库存商品的购买价格,单位或包装" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "输入要序列化的库存项目数量" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "数量不得超过现有库存量 ({q})" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "输入新项目的序列号" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "目标库存位置" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "可选注释字段" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "此零件不能分配序列号" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "选择要安装的库存项目" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "安装数量" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "输入要安装的项目数量" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "添加交易记录 (可选)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "安装数量必须至少为1" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "库存项不可用" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "所选零件不在物料清单中" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "安装数量不得超过可用数量" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "已卸载项目的目标位置" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "选择要将库存项目转换为的零件" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "所选零件不是有效的转换选项" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "无法转换已分配供应商零件的库存项" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "库存项状态代码" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "退回物品的目的地位置" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "选择要更改状态的库存项目" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "未选择库存商品" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "子位置" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "上级库存地点" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "零件必须可销售" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "物料已分配到销售订单" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "项目被分配到生产订单中" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "客户分配库存项目" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "所选公司不是客户" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "库存分配说明" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "必须提供库存物品清单" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "库存合并说明" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "允许不匹配的供应商" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "允许合并具有不同供应商零件的库存项目" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "允许不匹配的状态" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "允许合并具有不同状态代码的库存项目" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "必须提供至少两件库存物品" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "无更改" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "库存项主键值" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "库存交易记录" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" 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 ecf434fac2..5a716f1fbe 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: 2025-06-18 23:16+0000\n" -"PO-Revision-Date: 2025-06-18 23:18\n" +"POT-Creation-Date: 2025-06-25 23:54+0000\n" +"PO-Revision-Date: 2025-06-25 23:56\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -21,39 +21,39 @@ msgstr "" msgid "You must enable two-factor authentication before doing anything else." msgstr "" -#: InvenTree/api.py:355 +#: InvenTree/api.py:356 msgid "API endpoint not found" msgstr "未找到 API 端點" -#: InvenTree/api.py:432 +#: InvenTree/api.py:433 msgid "List of items or filters must be provided for bulk operation" msgstr "" -#: InvenTree/api.py:439 +#: InvenTree/api.py:440 msgid "Items must be provided as a list" msgstr "" -#: InvenTree/api.py:447 +#: InvenTree/api.py:448 msgid "Invalid items list provided" msgstr "提供了無效的單位" -#: InvenTree/api.py:453 +#: InvenTree/api.py:454 msgid "Filters must be provided as a dict" msgstr "" -#: InvenTree/api.py:460 +#: InvenTree/api.py:461 msgid "Invalid filters provided" msgstr "提供了無效的過濾器" -#: InvenTree/api.py:465 +#: InvenTree/api.py:466 msgid "All filter must only be used with true" msgstr "" -#: InvenTree/api.py:470 +#: InvenTree/api.py:471 msgid "No items match the provided criteria" msgstr "" -#: InvenTree/api.py:713 +#: InvenTree/api.py:714 msgid "User does not have permission to view this model" msgstr "用户沒有權限查閲當前模型。" @@ -109,13 +109,13 @@ msgid "Invalid decimal value" msgstr "" #: InvenTree/fields.py:210 InvenTree/models.py:896 build/serializers.py:495 -#: build/serializers.py:566 company/models.py:834 order/models.py:1621 +#: build/serializers.py:566 company/models.py:867 order/models.py:1621 #: part/models.py:3416 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2708 stock/models.py:2832 stock/serializers.py:756 -#: stock/serializers.py:918 stock/serializers.py:1048 stock/serializers.py:1100 -#: stock/serializers.py:1419 stock/serializers.py:1508 -#: stock/serializers.py:1684 +#: stock/models.py:2721 stock/models.py:2845 stock/serializers.py:766 +#: stock/serializers.py:935 stock/serializers.py:1065 stock/serializers.py:1117 +#: stock/serializers.py:1431 stock/serializers.py:1520 +#: stock/serializers.py:1696 msgid "Notes" msgstr "備註" @@ -356,7 +356,7 @@ msgstr "中文 (繁體)" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:136 users/serializers.py:247 +#: InvenTree/magic_login.py:41 company/models.py:169 users/serializers.py:247 msgid "Email" msgstr "電子郵件" @@ -408,19 +408,19 @@ msgstr "同一個上層元件下不能有重複的名字" msgid "Invalid choice" msgstr "無效的選項" -#: InvenTree/models.py:743 common/models.py:1357 common/models.py:1784 -#: common/models.py:2043 common/models.py:2168 common/serializers.py:509 -#: company/models.py:593 generic/states/serializers.py:20 machine/models.py:24 +#: InvenTree/models.py:743 common/models.py:1366 common/models.py:1793 +#: common/models.py:2052 common/models.py:2177 common/serializers.py:510 +#: company/models.py:626 generic/states/serializers.py:20 machine/models.py:24 #: part/models.py:1039 part/models.py:3890 plugin/models.py:53 -#: report/models.py:203 stock/models.py:83 +#: report/models.py:205 stock/models.py:83 msgid "Name" msgstr "名稱" -#: InvenTree/models.py:749 build/models.py:250 common/models.py:124 -#: common/models.py:2175 common/models.py:2288 company/models.py:521 -#: company/models.py:825 order/models.py:430 order/models.py:1657 -#: part/models.py:1062 part/models.py:3905 report/models.py:209 -#: report/models.py:710 report/models.py:736 +#: InvenTree/models.py:749 build/models.py:250 common/models.py:133 +#: common/models.py:2184 common/models.py:2297 company/models.py:554 +#: company/models.py:858 order/models.py:430 order/models.py:1657 +#: part/models.py:1062 part/models.py:3905 report/models.py:211 +#: report/models.py:774 report/models.py:800 #: report/templates/report/inventree_build_order_report.html:117 #: stock/models.py:89 msgid "Description" @@ -430,7 +430,7 @@ msgstr "描述" msgid "Description (optional)" msgstr "描述(選填)" -#: InvenTree/models.py:765 common/models.py:2341 +#: InvenTree/models.py:765 common/models.py:2350 msgid "Path" msgstr "路徑" @@ -479,11 +479,11 @@ msgstr "伺服器紀錄了一個錯誤。" msgid "Must be a valid number" msgstr "必須是有效的數字" -#: InvenTree/serializers.py:111 company/models.py:187 part/models.py:3234 +#: InvenTree/serializers.py:111 company/models.py:220 part/models.py:3234 msgid "Currency" msgstr "貨幣" -#: InvenTree/serializers.py:114 part/serializers.py:1439 +#: InvenTree/serializers.py:114 part/serializers.py:1406 msgid "Select currency from available options" msgstr "從可用選項中選擇貨幣" @@ -527,29 +527,29 @@ msgstr "損失率不能超過100%" msgid "Invalid value for overage" msgstr "無效的損失值" -#: build/api.py:38 order/api.py:105 order/api.py:264 order/serializers.py:129 +#: build/api.py:40 order/api.py:105 order/api.py:264 order/serializers.py:129 msgid "Order Status" msgstr "訂單狀態" -#: build/api.py:64 build/models.py:262 +#: build/api.py:66 build/models.py:262 msgid "Parent Build" msgstr "上層生產工單" -#: build/api.py:68 build/api.py:768 order/api.py:529 order/api.py:749 -#: order/api.py:1123 order/api.py:1351 stock/api.py:522 +#: build/api.py:70 build/api.py:784 order/api.py:529 order/api.py:749 +#: order/api.py:1123 order/api.py:1351 stock/api.py:537 msgid "Include Variants" msgstr "包含變體" -#: build/api.py:84 build/api.py:470 build/api.py:782 build/models.py:268 +#: build/api.py:86 build/api.py:472 build/api.py:798 build/models.py:268 #: build/serializers.py:1222 build/serializers.py:1344 -#: build/serializers.py:1395 company/models.py:1044 company/serializers.py:432 +#: build/serializers.py:1395 company/models.py:1077 company/serializers.py:432 #: order/api.py:292 order/api.py:296 order/api.py:897 order/api.py:1136 #: order/api.py:1139 order/models.py:1770 order/models.py:1940 -#: order/models.py:1941 part/api.py:1457 part/api.py:1460 part/api.py:1526 -#: part/api.py:1836 part/models.py:457 part/models.py:3245 part/models.py:3389 +#: order/models.py:1941 part/api.py:1252 part/api.py:1255 part/api.py:1321 +#: part/api.py:1631 part/models.py:457 part/models.py:3245 part/models.py:3389 #: part/models.py:3537 part/models.py:3558 part/models.py:3580 #: part/models.py:3719 part/models.py:4080 part/models.py:4352 -#: part/models.py:4718 part/serializers.py:1359 part/serializers.py:2028 +#: part/models.py:4718 part/serializers.py:1326 part/serializers.py:1995 #: report/templates/report/inventree_bill_of_materials_report.html:110 #: report/templates/report/inventree_bill_of_materials_report.html:137 #: report/templates/report/inventree_build_order_report.html:109 @@ -558,8 +558,8 @@ msgstr "包含變體" #: report/templates/report/inventree_sales_order_report.html:27 #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 -#: stock/api.py:535 stock/serializers.py:119 stock/serializers.py:171 -#: stock/serializers.py:481 stock/serializers.py:643 stock/serializers.py:948 +#: stock/api.py:550 stock/serializers.py:119 stock/serializers.py:171 +#: stock/serializers.py:481 stock/serializers.py:653 stock/serializers.py:965 #: templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 @@ -568,122 +568,122 @@ msgstr "包含變體" msgid "Part" msgstr "零件" -#: build/api.py:104 build/api.py:107 part/api.py:1540 part/models.py:1080 -#: part/models.py:3608 part/models.py:4189 part/serializers.py:1369 -#: stock/api.py:818 +#: build/api.py:106 build/api.py:109 part/api.py:1335 part/models.py:1080 +#: part/models.py:3608 part/models.py:4189 part/serializers.py:1336 +#: stock/api.py:833 msgid "Category" msgstr "類別" -#: build/api.py:115 build/api.py:119 +#: build/api.py:117 build/api.py:121 msgid "Ancestor Build" msgstr "可測試部分" -#: build/api.py:136 order/api.py:123 +#: build/api.py:138 order/api.py:123 msgid "Assigned to me" msgstr "分配給我" -#: build/api.py:151 +#: build/api.py:153 #: report/templates/report/inventree_build_order_report.html:152 msgid "Issued By" msgstr "發佈者" -#: build/api.py:166 +#: build/api.py:168 msgid "Assigned To" msgstr "負責人" -#: build/api.py:201 +#: build/api.py:203 msgid "Created before" msgstr "" -#: build/api.py:205 +#: build/api.py:207 msgid "Created after" msgstr "" -#: build/api.py:209 +#: build/api.py:211 msgid "Has start date" msgstr "" -#: build/api.py:217 +#: build/api.py:219 msgid "Start date before" msgstr "" -#: build/api.py:221 +#: build/api.py:223 msgid "Start date after" msgstr "" -#: build/api.py:225 +#: build/api.py:227 msgid "Has target date" msgstr "" -#: build/api.py:233 +#: build/api.py:235 msgid "Target date before" msgstr "" -#: build/api.py:237 +#: build/api.py:239 msgid "Target date after" msgstr "" -#: build/api.py:241 +#: build/api.py:243 msgid "Completed before" msgstr "" -#: build/api.py:245 +#: build/api.py:247 msgid "Completed after" msgstr "" -#: build/api.py:248 order/api.py:220 +#: build/api.py:250 order/api.py:220 msgid "Min Date" msgstr "" -#: build/api.py:271 order/api.py:239 +#: build/api.py:273 order/api.py:239 msgid "Max Date" msgstr "" -#: build/api.py:296 build/api.py:299 part/api.py:224 +#: build/api.py:298 build/api.py:301 part/api.py:218 msgid "Exclude Tree" msgstr "排除樹" -#: build/api.py:409 +#: build/api.py:411 msgid "Build must be cancelled before it can be deleted" msgstr "工單必須被取消才能被刪除" -#: build/api.py:453 build/serializers.py:1360 part/models.py:4386 +#: build/api.py:455 build/serializers.py:1360 part/models.py:4386 msgid "Consumable" msgstr "耗材" -#: build/api.py:456 build/serializers.py:1363 part/models.py:4380 +#: build/api.py:458 build/serializers.py:1363 part/models.py:4380 msgid "Optional" msgstr "非必須項目" -#: build/api.py:459 common/setting/system.py:429 part/models.py:1211 -#: part/serializers.py:1767 part/serializers.py:1776 stock/api.py:588 +#: build/api.py:461 common/setting/system.py:442 part/models.py:1211 +#: part/serializers.py:1734 part/serializers.py:1743 stock/api.py:603 msgid "Assembly" msgstr "裝配" -#: build/api.py:462 +#: build/api.py:464 msgid "Tracked" msgstr "追蹤中" -#: build/api.py:465 build/serializers.py:1366 part/models.py:1229 +#: build/api.py:467 build/serializers.py:1366 part/models.py:1229 msgid "Testable" msgstr "可測試" -#: build/api.py:475 order/api.py:942 +#: build/api.py:477 order/api.py:942 msgid "Order Outstanding" msgstr "" -#: build/api.py:485 order/api.py:901 +#: build/api.py:487 order/api.py:901 msgid "Allocated" msgstr "已分配" -#: build/api.py:495 company/models.py:889 company/serializers.py:427 +#: build/api.py:497 company/models.py:922 company/serializers.py:427 #: templates/email/build_order_required_stock.html:19 #: templates/email/low_stock_notification.html:17 #: templates/email/part_event_notification.html:18 msgid "Available" msgstr "可用數量" -#: build/api.py:805 build/models.py:117 order/models.py:1803 +#: build/api.py:821 build/models.py:117 order/models.py:1803 #: report/templates/report/inventree_build_order_report.html:105 #: stock/serializers.py:92 templates/email/build_order_completed.html:16 #: templates/email/overdue_build_order.html:15 @@ -809,7 +809,7 @@ msgid "Build status code" msgstr "生產狀態代碼" #: build/models.py:341 build/serializers.py:345 order/serializers.py:792 -#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1651 +#: stock/models.py:1023 stock/serializers.py:84 stock/serializers.py:1663 msgid "Batch Code" msgstr "批號" @@ -854,7 +854,7 @@ msgstr "發布者" msgid "User who issued this build order" msgstr "發布此生產工單的使用者" -#: build/models.py:396 common/models.py:133 order/api.py:173 +#: build/models.py:396 common/models.py:142 order/api.py:173 #: order/models.py:492 part/models.py:1303 #: report/templates/report/inventree_build_order_report.html:158 msgid "Responsible" @@ -868,7 +868,7 @@ msgstr "負責此生產工單的使用者或羣組" msgid "External Link" msgstr "外部連結" -#: build/models.py:404 common/models.py:1931 part/models.py:1114 +#: build/models.py:404 common/models.py:1940 part/models.py:1114 #: stock/models.py:1018 msgid "Link to external URL" msgstr "外部URL連結" @@ -881,7 +881,7 @@ msgstr "製造優先度" msgid "Priority of this build order" msgstr "此生產工單的優先程度" -#: build/models.py:420 common/models.py:103 common/models.py:117 +#: build/models.py:420 common/models.py:112 common/models.py:126 #: order/api.py:159 order/models.py:439 msgid "Project Code" msgstr "專案代碼" @@ -903,51 +903,50 @@ msgstr "生產工單 {build} 已經完成" msgid "A build order has been completed" msgstr "一張生產工單已經完成" -#: build/models.py:895 build/serializers.py:393 +#: build/models.py:898 build/serializers.py:393 msgid "Serial numbers must be provided for trackable parts" msgstr "對於可跟蹤的零件,必須提供序列號" -#: build/models.py:1005 build/models.py:1090 +#: build/models.py:1014 build/models.py:1099 msgid "No build output specified" msgstr "未指定產出" -#: build/models.py:1008 +#: build/models.py:1017 msgid "Build output is already completed" msgstr "產出已完成" -#: build/models.py:1011 +#: build/models.py:1020 msgid "Build output does not match Build Order" msgstr "產出與生產訂單不匹配" -#: build/models.py:1093 build/serializers.py:272 build/serializers.py:321 +#: build/models.py:1102 build/serializers.py:272 build/serializers.py:321 #: build/serializers.py:941 order/models.py:705 order/serializers.py:604 -#: order/serializers.py:787 part/serializers.py:1761 stock/models.py:863 -#: stock/models.py:1730 stock/serializers.py:727 +#: order/serializers.py:787 part/serializers.py:1728 stock/models.py:863 +#: stock/models.py:1741 stock/serializers.py:737 msgid "Quantity must be greater than zero" msgstr "數量必須大於零" -#: build/models.py:1097 build/serializers.py:276 +#: build/models.py:1106 build/serializers.py:276 msgid "Quantity cannot be greater than the output quantity" msgstr "數量不能大於輸出數量" -#: build/models.py:1162 build/serializers.py:584 +#: build/models.py:1171 build/serializers.py:584 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "產出 {serial} 未通過所有必要測試" -#: build/models.py:1548 +#: build/models.py:1557 msgid "Build Order Line Item" msgstr "生產訂單行項目" -#: build/models.py:1572 +#: build/models.py:1581 msgid "Build object" msgstr "生產對象" -#: build/models.py:1584 build/models.py:1843 build/serializers.py:260 -#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1287 +#: build/models.py:1593 build/models.py:1852 build/serializers.py:260 +#: build/serializers.py:306 build/serializers.py:1378 common/models.py:1296 #: order/models.py:1597 order/models.py:2371 order/serializers.py:1678 #: order/serializers.py:2139 part/models.py:3403 part/models.py:4374 -#: part/serializers.py:274 #: 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:29 @@ -955,63 +954,65 @@ msgstr "生產對象" #: report/templates/report/inventree_sales_order_shipment_report.html:47 #: report/templates/report/inventree_sales_order_shipment_report.html:49 #: report/templates/report/inventree_stock_location_report.html:104 +#: report/templates/report/inventree_stock_report_merge.html:90 +#: report/templates/report/inventree_stock_report_merge.html:113 #: report/templates/report/inventree_test_report.html:90 #: report/templates/report/inventree_test_report.html:169 -#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:718 +#: stock/serializers.py:135 stock/serializers.py:179 stock/serializers.py:728 #: templates/email/build_order_completed.html:18 msgid "Quantity" msgstr "數量" -#: build/models.py:1585 +#: build/models.py:1594 msgid "Required quantity for build order" msgstr "生產工單所需數量" -#: build/models.py:1669 +#: build/models.py:1678 msgid "Build item must specify a build output, as master part is marked as trackable" msgstr "生產項必須指定產出,因為主零件已經被標記為可追蹤的" -#: build/models.py:1680 +#: build/models.py:1689 #, python-brace-format msgid "Allocated quantity ({q}) must not exceed available stock quantity ({a})" msgstr "分配的數量({q})不能超過可用的庫存數量({a})" -#: build/models.py:1701 order/models.py:2320 +#: build/models.py:1710 order/models.py:2320 msgid "Stock item is over-allocated" msgstr "庫存品項超額分配" -#: build/models.py:1706 order/models.py:2323 +#: build/models.py:1715 order/models.py:2323 msgid "Allocation quantity must be greater than zero" msgstr "分配的數量必須大於零" -#: build/models.py:1712 +#: build/models.py:1721 msgid "Quantity must be 1 for serialized stock" msgstr "有序號的品項數量必須為1" -#: build/models.py:1772 +#: build/models.py:1781 msgid "Selected stock item does not match BOM line" msgstr "選擇的庫存品項和BOM的項目不符" -#: build/models.py:1833 build/serializers.py:924 build/serializers.py:1231 +#: build/models.py:1842 build/serializers.py:924 build/serializers.py:1231 #: order/serializers.py:1515 order/serializers.py:1536 #: report/templates/report/inventree_sales_order_shipment_report.html:29 -#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:825 -#: stock/serializers.py:1357 stock/serializers.py:1469 +#: stock/models.py:452 stock/serializers.py:101 stock/serializers.py:842 +#: stock/serializers.py:1369 stock/serializers.py:1481 msgid "Stock Item" msgstr "庫存品項" -#: build/models.py:1834 +#: build/models.py:1843 msgid "Source stock item" msgstr "來源庫存項目" -#: build/models.py:1844 +#: build/models.py:1853 msgid "Stock quantity to allocate to build" msgstr "要分配的庫存數量" -#: build/models.py:1853 +#: build/models.py:1862 msgid "Install into" msgstr "安裝到" -#: build/models.py:1854 +#: build/models.py:1863 msgid "Destination stock item" msgstr "目的庫存品項" @@ -1060,7 +1061,7 @@ msgid "Integer quantity required, as the bill of materials contains trackable pa msgstr "因為BOM包含可追蹤的零件,所以數量必須為整數" #: build/serializers.py:352 order/serializers.py:808 order/serializers.py:1682 -#: stock/serializers.py:738 +#: stock/serializers.py:748 msgid "Serial Numbers" msgstr "序號" @@ -1070,10 +1071,10 @@ msgstr "輸出產出的序列號" #: build/serializers.py:358 build/serializers.py:483 build/serializers.py:553 #: build/serializers.py:1235 build/serializers.py:1239 order/serializers.py:776 -#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1379 -#: stock/serializers.py:110 stock/serializers.py:647 stock/serializers.py:749 -#: stock/serializers.py:913 stock/serializers.py:1041 stock/serializers.py:1501 -#: stock/serializers.py:1789 users/models.py:555 +#: order/serializers.py:923 order/serializers.py:2030 part/serializers.py:1346 +#: stock/serializers.py:110 stock/serializers.py:657 stock/serializers.py:759 +#: stock/serializers.py:930 stock/serializers.py:1058 stock/serializers.py:1513 +#: stock/serializers.py:1801 users/models.py:555 msgid "Location" msgstr "地點" @@ -1089,8 +1090,8 @@ msgstr "自動分配序號" msgid "Automatically allocate required items with matching serial numbers" msgstr "自動為需要項目分配對應的序號" -#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1077 -#: stock/models.py:1753 +#: build/serializers.py:409 order/serializers.py:901 stock/api.py:1101 +#: stock/models.py:1764 msgid "The following serial numbers already exist or are invalid" msgstr "序號已存在或無效" @@ -1222,7 +1223,7 @@ msgstr "生產行項目" msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必須與生產訂單零件相同" -#: build/serializers.py:930 stock/serializers.py:1370 +#: build/serializers.py:930 stock/serializers.py:1382 msgid "Item must be in stock" msgstr "商品必須有庫存" @@ -1299,13 +1300,13 @@ msgstr "物料清單零件名稱" msgid "Build" msgstr "" -#: build/serializers.py:1254 company/models.py:662 order/api.py:305 +#: build/serializers.py:1254 company/models.py:695 order/api.py:305 #: order/api.py:310 order/api.py:525 order/serializers.py:596 -#: stock/models.py:959 stock/serializers.py:631 +#: stock/models.py:959 stock/serializers.py:641 msgid "Supplier Part" msgstr "供應商零件" -#: build/serializers.py:1262 stock/serializers.py:662 +#: build/serializers.py:1262 stock/serializers.py:672 msgid "Allocated Quantity" msgstr "已分配數量" @@ -1317,7 +1318,7 @@ msgstr "構建參考" msgid "Part Category Name" msgstr "零件類別名稱" -#: build/serializers.py:1369 common/setting/system.py:453 part/models.py:1223 +#: build/serializers.py:1369 common/setting/system.py:466 part/models.py:1223 msgid "Trackable" msgstr "可追蹤" @@ -1330,7 +1331,7 @@ msgid "Allow Variants" msgstr "允許變體" #: build/serializers.py:1380 build/serializers.py:1384 part/models.py:4232 -#: part/models.py:4710 stock/api.py:831 +#: part/models.py:4710 stock/api.py:846 msgid "BOM Item" msgstr "物料清單項" @@ -1339,21 +1340,21 @@ msgid "Allocated Stock" msgstr "分配庫存" #: build/serializers.py:1415 company/serializers.py:424 -#: order/serializers.py:1278 part/serializers.py:967 part/serializers.py:1255 -#: part/serializers.py:1794 +#: order/serializers.py:1278 part/serializers.py:934 part/serializers.py:1222 +#: part/serializers.py:1761 msgid "On Order" msgstr "已訂購" -#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1259 -#: part/serializers.py:1798 +#: build/serializers.py:1417 order/serializers.py:1279 part/serializers.py:1226 +#: part/serializers.py:1765 msgid "In Production" msgstr "生產中" -#: build/serializers.py:1419 part/serializers.py:995 +#: build/serializers.py:1419 part/serializers.py:962 msgid "External Stock" msgstr "外部庫存" -#: build/serializers.py:1420 part/serializers.py:1249 part/serializers.py:1827 +#: build/serializers.py:1420 part/serializers.py:1216 part/serializers.py:1794 msgid "Available Stock" msgstr "可用庫存" @@ -1391,32 +1392,32 @@ msgstr "已取消" msgid "Complete" msgstr "完成" -#: build/tasks.py:190 +#: build/tasks.py:196 msgid "Stock required for build order" msgstr "生產訂單所需庫存" -#: build/tasks.py:211 +#: build/tasks.py:218 msgid "Overdue Build Order" msgstr "逾期的生產訂單" -#: build/tasks.py:216 +#: build/tasks.py:223 #, python-brace-format msgid "Build order {bo} is now overdue" msgstr "生產訂單 {bo} 現已逾期" -#: common/api.py:710 +#: common/api.py:712 msgid "Is Link" msgstr "是否鏈接" -#: common/api.py:718 +#: common/api.py:720 msgid "Is File" msgstr "是否為文件" -#: common/api.py:761 +#: common/api.py:763 msgid "User does not have permission to delete these attachments" msgstr "用户沒有權限刪除此附件" -#: common/api.py:778 +#: common/api.py:780 msgid "User does not have permission to delete this attachment" msgstr "用户沒有權限刪除此附件" @@ -1436,61 +1437,61 @@ msgstr "未提供有效的貨幣代碼" msgid "No plugin" msgstr "暫無插件" -#: common/models.py:90 +#: common/models.py:99 common/models.py:2622 msgid "Updated" msgstr "已是最新" -#: common/models.py:91 +#: common/models.py:100 msgid "Timestamp of last update" msgstr "最後更新時間戳" -#: common/models.py:118 +#: common/models.py:127 msgid "Unique project code" msgstr "唯一項目編碼" -#: common/models.py:125 +#: common/models.py:134 msgid "Project description" msgstr "項目描述" -#: common/models.py:134 +#: common/models.py:143 msgid "User or group responsible for this project" msgstr "負責此項目的用户或羣組" -#: common/models.py:722 common/models.py:1219 common/models.py:1257 +#: common/models.py:731 common/models.py:1228 common/models.py:1266 msgid "Settings key" msgstr "" -#: common/models.py:726 +#: common/models.py:735 msgid "Settings value" msgstr "設定值" -#: common/models.py:781 +#: common/models.py:790 msgid "Chosen value is not a valid option" msgstr "所選值不是一個有效的選項" -#: common/models.py:797 +#: common/models.py:806 msgid "Value must be a boolean value" msgstr "該值必須是布爾值" -#: common/models.py:805 +#: common/models.py:814 msgid "Value must be an integer value" msgstr "該值必須為整數" -#: common/models.py:813 +#: common/models.py:822 msgid "Value must be a valid number" msgstr "" -#: common/models.py:838 +#: common/models.py:847 msgid "Value does not pass validation checks" msgstr "" -#: common/models.py:860 +#: common/models.py:869 msgid "Key string must be unique" msgstr "鍵字符串必須是唯一的" -#: common/models.py:1265 common/models.py:1266 common/models.py:1370 -#: common/models.py:1371 common/models.py:1616 common/models.py:1617 -#: common/models.py:1947 common/models.py:1948 common/models.py:2329 +#: common/models.py:1274 common/models.py:1275 common/models.py:1379 +#: common/models.py:1380 common/models.py:1625 common/models.py:1626 +#: common/models.py:1956 common/models.py:1957 common/models.py:2338 #: importer/models.py:97 part/models.py:3426 part/models.py:3513 #: part/models.py:3587 part/models.py:3615 plugin/models.py:322 #: plugin/models.py:323 report/templates/report/inventree_test_report.html:105 @@ -1498,485 +1499,601 @@ msgstr "鍵字符串必須是唯一的" msgid "User" msgstr "使用者" -#: common/models.py:1288 +#: common/models.py:1297 msgid "Price break quantity" msgstr "批發價數量" -#: common/models.py:1295 company/serializers.py:567 order/models.py:1674 +#: common/models.py:1304 company/serializers.py:567 order/models.py:1674 #: order/models.py:2817 msgid "Price" msgstr "價格" -#: common/models.py:1296 +#: common/models.py:1305 msgid "Unit price at specified quantity" msgstr "指定數量的單位價格" -#: common/models.py:1347 common/models.py:1532 +#: common/models.py:1356 common/models.py:1541 msgid "Endpoint" msgstr "端點" -#: common/models.py:1348 +#: common/models.py:1357 msgid "Endpoint at which this webhook is received" msgstr "接收此網絡鈎子的端點" -#: common/models.py:1358 +#: common/models.py:1367 msgid "Name for this webhook" msgstr "此網絡鈎子的名稱" -#: common/models.py:1362 common/models.py:2188 common/models.py:2295 -#: company/models.py:164 company/models.py:799 machine/models.py:39 -#: part/models.py:1246 plugin/models.py:68 stock/api.py:591 users/models.py:201 +#: common/models.py:1371 common/models.py:2197 common/models.py:2304 +#: company/models.py:197 company/models.py:832 machine/models.py:39 +#: part/models.py:1246 plugin/models.py:68 stock/api.py:606 users/models.py:201 #: users/models.py:560 users/serializers.py:333 msgid "Active" msgstr "激活" -#: common/models.py:1362 +#: common/models.py:1371 msgid "Is this webhook active" msgstr "網絡鈎子是否已啓用" -#: common/models.py:1378 users/models.py:178 +#: common/models.py:1387 users/models.py:178 msgid "Token" msgstr "令牌" -#: common/models.py:1379 +#: common/models.py:1388 msgid "Token for access" msgstr "訪問令牌" -#: common/models.py:1387 +#: common/models.py:1396 msgid "Secret" msgstr "密鑰" -#: common/models.py:1388 +#: common/models.py:1397 msgid "Shared secret for HMAC" msgstr "HMAC共享密鑰" -#: common/models.py:1496 +#: common/models.py:1505 common/models.py:2520 msgid "Message ID" msgstr "消息ID" -#: common/models.py:1497 +#: common/models.py:1506 common/models.py:2510 msgid "Unique identifier for this message" msgstr "此郵件的唯一標識符" -#: common/models.py:1505 +#: common/models.py:1514 msgid "Host" msgstr "主機" -#: common/models.py:1506 +#: common/models.py:1515 msgid "Host from which this message was received" msgstr "接收此消息的主機" -#: common/models.py:1514 +#: common/models.py:1523 msgid "Header" msgstr "標題" -#: common/models.py:1515 +#: common/models.py:1524 msgid "Header of this message" msgstr "此消息的標題" -#: common/models.py:1522 +#: common/models.py:1531 msgid "Body" msgstr "正文" -#: common/models.py:1523 +#: common/models.py:1532 msgid "Body of this message" msgstr "此消息的正文" -#: common/models.py:1533 +#: common/models.py:1542 msgid "Endpoint on which this message was received" msgstr "接收此消息的終點" -#: common/models.py:1538 +#: common/models.py:1547 msgid "Worked on" msgstr "工作於" -#: common/models.py:1539 +#: common/models.py:1548 msgid "Was the work on this message finished?" msgstr "這條消息的工作完成了嗎?" -#: common/models.py:1665 +#: common/models.py:1674 msgid "Id" msgstr "標識" -#: common/models.py:1667 part/serializers.py:280 +#: common/models.py:1676 msgid "Title" msgstr "標題" -#: common/models.py:1669 common/models.py:1930 company/models.py:149 -#: company/models.py:445 company/models.py:512 company/models.py:816 +#: common/models.py:1678 common/models.py:1939 company/models.py:182 +#: company/models.py:478 company/models.py:545 company/models.py:849 #: order/models.py:445 order/models.py:1627 order/models.py:2139 #: part/models.py:1113 #: report/templates/report/inventree_build_order_report.html:164 msgid "Link" msgstr "連結" -#: common/models.py:1671 +#: common/models.py:1680 msgid "Published" msgstr "已發佈" -#: common/models.py:1673 +#: common/models.py:1682 msgid "Author" msgstr "作者" -#: common/models.py:1675 +#: common/models.py:1684 msgid "Summary" msgstr "摘要" -#: common/models.py:1678 +#: common/models.py:1687 common/models.py:2487 msgid "Read" msgstr "閲讀" -#: common/models.py:1678 +#: common/models.py:1687 msgid "Was this news item read?" msgstr "這條新聞被閲讀了嗎?" -#: common/models.py:1695 company/models.py:160 part/models.py:1124 +#: common/models.py:1704 company/models.py:193 part/models.py:1124 #: report/templates/report/inventree_bill_of_materials_report.html:126 #: report/templates/report/inventree_bill_of_materials_report.html:148 #: report/templates/report/inventree_return_order_report.html:35 msgid "Image" msgstr "圖像" -#: common/models.py:1695 +#: common/models.py:1704 msgid "Image file" msgstr "圖像文件" -#: common/models.py:1707 +#: common/models.py:1716 msgid "Target model type for this image" msgstr "此圖像的目標模型類型" -#: common/models.py:1711 +#: common/models.py:1720 msgid "Target model ID for this image" msgstr "此圖像的目標型號ID" -#: common/models.py:1733 +#: common/models.py:1742 msgid "Custom Unit" msgstr "自定義單位" -#: common/models.py:1751 +#: common/models.py:1760 msgid "Unit symbol must be unique" msgstr "單位符號必須唯一" -#: common/models.py:1766 +#: common/models.py:1775 msgid "Unit name must be a valid identifier" msgstr "單位名稱必須是有效的標識符" -#: common/models.py:1785 +#: common/models.py:1794 msgid "Unit name" msgstr "單位名稱" -#: common/models.py:1792 +#: common/models.py:1801 msgid "Symbol" msgstr "符號" -#: common/models.py:1793 +#: common/models.py:1802 msgid "Optional unit symbol" msgstr "可選單位符號" -#: common/models.py:1799 +#: common/models.py:1808 msgid "Definition" msgstr "定義" -#: common/models.py:1800 +#: common/models.py:1809 msgid "Unit definition" msgstr "單位定義" -#: common/models.py:1858 common/models.py:1921 stock/models.py:2827 +#: common/models.py:1867 common/models.py:1930 stock/models.py:2840 #: stock/serializers.py:258 msgid "Attachment" msgstr "附件" -#: common/models.py:1875 +#: common/models.py:1884 msgid "Missing file" msgstr "缺少檔案" -#: common/models.py:1876 +#: common/models.py:1885 msgid "Missing external link" msgstr "缺少外部連結" -#: common/models.py:1913 +#: common/models.py:1922 msgid "Model type" msgstr "" -#: common/models.py:1914 +#: common/models.py:1923 msgid "Target model type for image" msgstr "" -#: common/models.py:1922 +#: common/models.py:1931 msgid "Select file to attach" msgstr "選擇附件" -#: common/models.py:1938 +#: common/models.py:1947 msgid "Comment" msgstr "註解" -#: common/models.py:1939 +#: common/models.py:1948 msgid "Attachment comment" msgstr "附件評論" -#: common/models.py:1955 +#: common/models.py:1964 msgid "Upload date" msgstr "上傳日期" -#: common/models.py:1956 +#: common/models.py:1965 msgid "Date the file was uploaded" msgstr "上傳文件的日期" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size" msgstr "文件大小" -#: common/models.py:1960 +#: common/models.py:1969 msgid "File size in bytes" msgstr "文件大小,以字節為單位" -#: common/models.py:1998 common/serializers.py:658 +#: common/models.py:2007 common/serializers.py:659 msgid "Invalid model type specified for attachment" msgstr "為附件指定的模型類型無效" -#: common/models.py:2019 +#: common/models.py:2028 msgid "Custom State" msgstr "自定狀態" -#: common/models.py:2020 +#: common/models.py:2029 msgid "Custom States" msgstr "定製狀態" -#: common/models.py:2025 +#: common/models.py:2034 msgid "Reference Status Set" msgstr "參考狀態設定" -#: common/models.py:2026 +#: common/models.py:2035 msgid "Status set that is extended with this custom state" msgstr "使用此自定義狀態擴展狀態的狀態集" -#: common/models.py:2030 generic/states/serializers.py:18 +#: common/models.py:2039 generic/states/serializers.py:18 msgid "Logical Key" msgstr "邏輯密鑰" -#: common/models.py:2032 +#: common/models.py:2041 msgid "State logical key that is equal to this custom state in business logic" msgstr "等同於商業邏輯中自定義狀態的狀態邏輯鍵" -#: common/models.py:2037 common/models.py:2276 company/models.py:600 -#: report/templates/report/inventree_test_report.html:104 stock/models.py:2819 +#: common/models.py:2046 common/models.py:2285 company/models.py:633 +#: report/templates/report/inventree_test_report.html:104 stock/models.py:2832 msgid "Value" msgstr "值" -#: common/models.py:2038 +#: common/models.py:2047 msgid "Numerical value that will be saved in the models database" msgstr "" -#: common/models.py:2044 +#: common/models.py:2053 msgid "Name of the state" msgstr "狀態名" -#: common/models.py:2053 common/models.py:2282 generic/states/serializers.py:22 -#: part/serializers.py:282 +#: common/models.py:2062 common/models.py:2291 generic/states/serializers.py:22 msgid "Label" msgstr "標籤" -#: common/models.py:2054 +#: common/models.py:2063 msgid "Label that will be displayed in the frontend" msgstr "在前端顯示的標籤" -#: common/models.py:2061 generic/states/serializers.py:24 +#: common/models.py:2070 generic/states/serializers.py:24 msgid "Color" msgstr "顏色" -#: common/models.py:2062 +#: common/models.py:2071 msgid "Color that will be displayed in the frontend" msgstr "將在前端顯示顏色" -#: common/models.py:2070 part/serializers.py:284 +#: common/models.py:2079 msgid "Model" msgstr "模式" -#: common/models.py:2071 +#: common/models.py:2080 msgid "Model this state is associated with" msgstr "該狀態關聯的模型" -#: common/models.py:2086 +#: common/models.py:2095 msgid "Model must be selected" msgstr "必須選定模型" -#: common/models.py:2089 +#: common/models.py:2098 msgid "Key must be selected" msgstr "必須選取密鑰" -#: common/models.py:2092 +#: common/models.py:2101 msgid "Logical key must be selected" msgstr "必須選中邏輯密鑰" -#: common/models.py:2096 +#: common/models.py:2105 msgid "Key must be different from logical key" msgstr "密鑰必須不同於邏輯密鑰" -#: common/models.py:2103 +#: common/models.py:2112 msgid "Valid reference status class must be provided" msgstr "" -#: common/models.py:2109 +#: common/models.py:2118 msgid "Key must be different from the logical keys of the reference status" msgstr "密鑰必須不同於參考狀態的邏輯密鑰" -#: common/models.py:2116 +#: common/models.py:2125 msgid "Logical key must be in the logical keys of the reference status" msgstr "邏輯密鑰必須在參考狀態的邏輯鍵中" -#: common/models.py:2123 +#: common/models.py:2132 msgid "Name must be different from the names of the reference status" msgstr "" -#: common/models.py:2163 common/models.py:2270 part/models.py:3929 +#: common/models.py:2172 common/models.py:2279 part/models.py:3929 msgid "Selection List" msgstr "" -#: common/models.py:2164 +#: common/models.py:2173 msgid "Selection Lists" msgstr "" -#: common/models.py:2169 +#: common/models.py:2178 msgid "Name of the selection list" msgstr "" -#: common/models.py:2176 +#: common/models.py:2185 msgid "Description of the selection list" msgstr "" -#: common/models.py:2182 part/models.py:1251 +#: common/models.py:2191 part/models.py:1251 msgid "Locked" msgstr "已鎖定" -#: common/models.py:2183 +#: common/models.py:2192 msgid "Is this selection list locked?" msgstr "" -#: common/models.py:2189 +#: common/models.py:2198 msgid "Can this selection list be used?" msgstr "" -#: common/models.py:2197 +#: common/models.py:2206 msgid "Source Plugin" msgstr "" -#: common/models.py:2198 +#: common/models.py:2207 msgid "Plugin which provides the selection list" msgstr "" -#: common/models.py:2203 +#: common/models.py:2212 msgid "Source String" msgstr "" -#: common/models.py:2204 +#: common/models.py:2213 msgid "Optional string identifying the source used for this list" msgstr "" -#: common/models.py:2213 +#: common/models.py:2222 msgid "Default Entry" msgstr "" -#: common/models.py:2214 +#: common/models.py:2223 msgid "Default entry for this selection list" msgstr "" -#: common/models.py:2219 +#: common/models.py:2228 common/models.py:2617 msgid "Created" msgstr "已創建" -#: common/models.py:2220 +#: common/models.py:2229 msgid "Date and time that the selection list was created" msgstr "" -#: common/models.py:2225 +#: common/models.py:2234 msgid "Last Updated" msgstr "最近更新" -#: common/models.py:2226 +#: common/models.py:2235 msgid "Date and time that the selection list was last updated" msgstr "" -#: common/models.py:2260 +#: common/models.py:2269 msgid "Selection List Entry" msgstr "" -#: common/models.py:2261 +#: common/models.py:2270 msgid "Selection List Entries" msgstr "" -#: common/models.py:2271 +#: common/models.py:2280 msgid "Selection list to which this entry belongs" msgstr "" -#: common/models.py:2277 +#: common/models.py:2286 msgid "Value of the selection list entry" msgstr "" -#: common/models.py:2283 +#: common/models.py:2292 msgid "Label for the selection list entry" msgstr "" -#: common/models.py:2289 +#: common/models.py:2298 msgid "Description of the selection list entry" msgstr "" -#: common/models.py:2296 +#: common/models.py:2305 msgid "Is this selection list entry active?" msgstr "" -#: common/models.py:2314 +#: common/models.py:2323 msgid "Barcode Scan" msgstr "掃描條碼" -#: common/models.py:2318 importer/models.py:523 part/models.py:4094 +#: common/models.py:2327 importer/models.py:523 part/models.py:4094 msgid "Data" msgstr "數據" -#: common/models.py:2319 +#: common/models.py:2328 msgid "Barcode data" msgstr "條碼數據" -#: common/models.py:2330 +#: common/models.py:2339 msgid "User who scanned the barcode" msgstr "掃描條碼" -#: common/models.py:2335 importer/models.py:66 +#: common/models.py:2344 importer/models.py:66 msgid "Timestamp" msgstr "時間戳" -#: common/models.py:2336 +#: common/models.py:2345 msgid "Date and time of the barcode scan" msgstr "掃描條碼的日期和時間" -#: common/models.py:2342 +#: common/models.py:2351 msgid "URL endpoint which processed the barcode" msgstr "處理條碼的 URL 終點" -#: common/models.py:2349 order/models.py:1664 plugin/serializers.py:93 +#: common/models.py:2358 order/models.py:1664 plugin/serializers.py:93 msgid "Context" msgstr "上下文" -#: common/models.py:2350 +#: common/models.py:2359 msgid "Context data for the barcode scan" msgstr "掃描條碼的上下文數據" -#: common/models.py:2357 +#: common/models.py:2366 msgid "Response" msgstr "響應" -#: common/models.py:2358 +#: common/models.py:2367 msgid "Response data from the barcode scan" msgstr "掃描條碼的響應數據" -#: common/models.py:2364 report/templates/report/inventree_test_report.html:103 -#: stock/models.py:2813 +#: common/models.py:2373 report/templates/report/inventree_test_report.html:103 +#: stock/models.py:2826 msgid "Result" msgstr "結果" -#: common/models.py:2365 +#: common/models.py:2374 msgid "Was the barcode scan successful?" msgstr "條碼掃描成功嗎?" +#: common/models.py:2469 +msgid "Email Message" +msgstr "" + +#: common/models.py:2470 +msgid "Email Messages" +msgstr "" + +#: common/models.py:2477 +msgid "Announced" +msgstr "" + +#: common/models.py:2479 +msgid "Sent" +msgstr "" + +#: common/models.py:2480 +msgid "Failed" +msgstr "" + +#: common/models.py:2483 +msgid "Delivered" +msgstr "" + +#: common/models.py:2491 +msgid "Confirmed" +msgstr "" + +#: common/models.py:2497 +msgid "Inbound" +msgstr "" + +#: common/models.py:2498 +msgid "Outbound" +msgstr "" + +#: common/models.py:2503 +msgid "No Reply" +msgstr "" + +#: common/models.py:2504 +msgid "Track Delivery" +msgstr "" + +#: common/models.py:2505 +msgid "Track Read" +msgstr "" + +#: common/models.py:2506 +msgid "Track Click" +msgstr "" + +#: common/models.py:2509 common/models.py:2604 +msgid "Global ID" +msgstr "" + +#: common/models.py:2522 +msgid "Identifier for this message (might be supplied by external system)" +msgstr "" + +#: common/models.py:2529 +msgid "Thread ID" +msgstr "" + +#: common/models.py:2531 +msgid "Identifier for this message thread (might be supplied by external system)" +msgstr "" + +#: common/models.py:2540 +msgid "Thread" +msgstr "" + +#: common/models.py:2541 +msgid "Linked thread for this message" +msgstr "" + +#: common/models.py:2557 +msgid "Prioriy" +msgstr "" + +#: common/models.py:2591 +msgid "Email Thread" +msgstr "" + +#: common/models.py:2592 +msgid "Email Threads" +msgstr "" + +#: common/models.py:2598 generic/states/serializers.py:16 plugin/models.py:45 +#: users/models.py:119 +msgid "Key" +msgstr "鍵" + +#: common/models.py:2601 +msgid "Unique key for this thread (used to identify the thread)" +msgstr "" + +#: common/models.py:2605 +msgid "Unique identifier for this thread" +msgstr "" + +#: common/models.py:2612 +msgid "Started Internal" +msgstr "" + +#: common/models.py:2613 +msgid "Was this thread started internally?" +msgstr "" + +#: common/models.py:2618 +msgid "Date and time that the thread was created" +msgstr "" + +#: common/models.py:2623 +msgid "Date and time that the thread was last updated" +msgstr "" + #: common/notifications.py:332 #, python-brace-format msgid "New {verbose_name}" @@ -2019,80 +2136,80 @@ msgstr "" msgid "Override" msgstr "" -#: common/serializers.py:472 +#: common/serializers.py:473 msgid "Is Running" msgstr "正在運行" -#: common/serializers.py:478 +#: common/serializers.py:479 msgid "Pending Tasks" msgstr "等待完成的任務" -#: common/serializers.py:484 +#: common/serializers.py:485 msgid "Scheduled Tasks" msgstr "預定的任務" -#: common/serializers.py:490 +#: common/serializers.py:491 msgid "Failed Tasks" msgstr "失敗的任務" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Task ID" msgstr "任務ID" -#: common/serializers.py:505 +#: common/serializers.py:506 msgid "Unique task ID" msgstr "唯一任務ID" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock" msgstr "鎖定" -#: common/serializers.py:507 +#: common/serializers.py:508 msgid "Lock time" msgstr "鎖定時間" -#: common/serializers.py:509 +#: common/serializers.py:510 msgid "Task name" msgstr "任務名稱" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function" msgstr "功能" -#: common/serializers.py:511 +#: common/serializers.py:512 msgid "Function name" msgstr "功能名稱" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Arguments" msgstr "參數" -#: common/serializers.py:513 +#: common/serializers.py:514 msgid "Task arguments" msgstr "任務參數" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Keyword Arguments" msgstr "關鍵字參數" -#: common/serializers.py:516 +#: common/serializers.py:517 msgid "Task keyword arguments" msgstr "任務關鍵詞參數" -#: common/serializers.py:626 +#: common/serializers.py:627 msgid "Filename" msgstr "檔案名稱" -#: common/serializers.py:633 importer/models.py:86 report/api.py:41 -#: report/models.py:277 report/serializers.py:53 +#: common/serializers.py:634 importer/models.py:86 report/api.py:40 +#: report/models.py:282 report/serializers.py:53 msgid "Model Type" msgstr "模型類型" -#: common/serializers.py:661 +#: common/serializers.py:662 msgid "User does not have permission to create or edit attachments for this model" msgstr "用户無權為此模式創建或編輯附件" -#: common/serializers.py:705 common/serializers.py:808 +#: common/serializers.py:706 common/serializers.py:809 msgid "Selection list is locked" msgstr "" @@ -2104,1073 +2221,1089 @@ msgstr "無分組" msgid "Site URL is locked by configuration" msgstr "網站 URL 已配置為鎖定" -#: common/setting/system.py:167 +#: common/setting/system.py:173 msgid "Restart required" msgstr "需要重啓" -#: common/setting/system.py:168 +#: common/setting/system.py:174 msgid "A setting has been changed which requires a server restart" msgstr "設置已更改,需要服務器重啓" -#: common/setting/system.py:174 +#: common/setting/system.py:180 msgid "Pending migrations" msgstr "等待遷移" -#: common/setting/system.py:175 +#: common/setting/system.py:181 msgid "Number of pending database migrations" msgstr "待處理的數據庫遷移數" -#: common/setting/system.py:180 +#: common/setting/system.py:186 +msgid "Active warning codes" +msgstr "" + +#: common/setting/system.py:187 +msgid "A dict of active warning codes" +msgstr "" + +#: common/setting/system.py:193 msgid "Instance ID" msgstr "" -#: common/setting/system.py:181 +#: common/setting/system.py:194 msgid "Unique identifier for this InvenTree instance" msgstr "" -#: common/setting/system.py:186 +#: common/setting/system.py:199 msgid "Announce ID" msgstr "" -#: common/setting/system.py:188 +#: common/setting/system.py:201 msgid "Announce the instance ID of the server in the server status info (unauthenticated)" msgstr "" -#: common/setting/system.py:194 +#: common/setting/system.py:207 msgid "Server Instance Name" msgstr "服務器實例名稱" -#: common/setting/system.py:196 +#: common/setting/system.py:209 msgid "String descriptor for the server instance" msgstr "服務器實例的字符串描述符" -#: common/setting/system.py:200 +#: common/setting/system.py:213 msgid "Use instance name" msgstr "使用實例名稱" -#: common/setting/system.py:201 +#: common/setting/system.py:214 msgid "Use the instance name in the title-bar" msgstr "在標題欄中使用實例名稱" -#: common/setting/system.py:206 +#: common/setting/system.py:219 msgid "Restrict showing `about`" msgstr "限制顯示 `關於` 信息" -#: common/setting/system.py:207 +#: common/setting/system.py:220 msgid "Show the `about` modal only to superusers" msgstr "只向超級管理員顯示關於信息" -#: common/setting/system.py:212 company/models.py:108 company/models.py:109 +#: common/setting/system.py:225 company/models.py:141 company/models.py:142 msgid "Company name" msgstr "公司名稱" -#: common/setting/system.py:213 +#: common/setting/system.py:226 msgid "Internal company name" msgstr "內部公司名稱" -#: common/setting/system.py:217 +#: common/setting/system.py:230 msgid "Base URL" msgstr "基本 URL" -#: common/setting/system.py:218 +#: common/setting/system.py:231 msgid "Base URL for server instance" msgstr "服務器實例的基準 URL" -#: common/setting/system.py:224 +#: common/setting/system.py:237 msgid "Default Currency" msgstr "默認貨幣單位" -#: common/setting/system.py:225 +#: common/setting/system.py:238 msgid "Select base currency for pricing calculations" msgstr "選擇價格計算的默認貨幣" -#: common/setting/system.py:231 +#: common/setting/system.py:244 msgid "Supported Currencies" msgstr "支持幣種" -#: common/setting/system.py:232 +#: common/setting/system.py:245 msgid "List of supported currency codes" msgstr "支持的貨幣代碼列表" -#: common/setting/system.py:238 +#: common/setting/system.py:251 msgid "Currency Update Interval" msgstr "貨幣更新間隔時間" -#: common/setting/system.py:239 +#: common/setting/system.py:252 msgid "How often to update exchange rates (set to zero to disable)" msgstr "檢查更新的頻率(設置為零以禁用)" -#: common/setting/system.py:241 common/setting/system.py:281 -#: common/setting/system.py:294 common/setting/system.py:302 -#: common/setting/system.py:309 common/setting/system.py:318 -#: common/setting/system.py:561 common/setting/system.py:581 -#: common/setting/system.py:672 common/setting/system.py:1062 +#: common/setting/system.py:254 common/setting/system.py:294 +#: common/setting/system.py:307 common/setting/system.py:315 +#: common/setting/system.py:322 common/setting/system.py:331 +#: common/setting/system.py:574 common/setting/system.py:594 +#: common/setting/system.py:685 common/setting/system.py:1082 msgid "days" msgstr "天" -#: common/setting/system.py:245 +#: common/setting/system.py:258 msgid "Currency Update Plugin" msgstr "幣種更新插件" -#: common/setting/system.py:246 +#: common/setting/system.py:259 msgid "Currency update plugin to use" msgstr "使用貨幣更新插件" -#: common/setting/system.py:251 +#: common/setting/system.py:264 msgid "Download from URL" msgstr "從URL下載" -#: common/setting/system.py:252 +#: common/setting/system.py:265 msgid "Allow download of remote images and files from external URL" msgstr "允許從外部 URL 下載遠程圖片和文件" -#: common/setting/system.py:257 +#: common/setting/system.py:270 msgid "Download Size Limit" msgstr "下載大小限制" -#: common/setting/system.py:258 +#: common/setting/system.py:271 msgid "Maximum allowable download size for remote image" msgstr "遠程圖片的最大允許下載大小" -#: common/setting/system.py:264 +#: common/setting/system.py:277 msgid "User-agent used to download from URL" msgstr "用於從 URL 下載的 User-agent" -#: common/setting/system.py:266 +#: common/setting/system.py:279 msgid "Allow to override the user-agent used to download images and files from external URL (leave blank for the default)" msgstr "允許覆蓋用於從外部 URL 下載圖片和文件的 user-agent(留空為默認值)" -#: common/setting/system.py:271 +#: common/setting/system.py:284 msgid "Strict URL Validation" msgstr "嚴格的 URL 驗證" -#: common/setting/system.py:272 +#: common/setting/system.py:285 msgid "Require schema specification when validating URLs" msgstr "驗證 URL 時需要 schema 規範" -#: common/setting/system.py:277 +#: common/setting/system.py:290 msgid "Update Check Interval" msgstr "更新檢查間隔" -#: common/setting/system.py:278 +#: common/setting/system.py:291 msgid "How often to check for updates (set to zero to disable)" msgstr "檢查更新的頻率(設置為零以禁用)" -#: common/setting/system.py:284 +#: common/setting/system.py:297 msgid "Automatic Backup" msgstr "自動備份" -#: common/setting/system.py:285 +#: common/setting/system.py:298 msgid "Enable automatic backup of database and media files" msgstr "啟動資料庫和媒體文件自動備份" -#: common/setting/system.py:290 +#: common/setting/system.py:303 msgid "Auto Backup Interval" msgstr "自動備份間隔" -#: common/setting/system.py:291 +#: common/setting/system.py:304 msgid "Specify number of days between automated backup events" msgstr "指定自動備份之間的間隔天數" -#: common/setting/system.py:297 +#: common/setting/system.py:310 msgid "Task Deletion Interval" msgstr "任務刪除間隔" -#: common/setting/system.py:299 +#: common/setting/system.py:312 msgid "Background task results will be deleted after specified number of days" msgstr "後台任務結果將在指定天數後刪除" -#: common/setting/system.py:306 +#: common/setting/system.py:319 msgid "Error Log Deletion Interval" msgstr "錯誤日誌刪除間隔" -#: common/setting/system.py:307 +#: common/setting/system.py:320 msgid "Error logs will be deleted after specified number of days" msgstr "錯誤日誌將在指定天數後被刪除" -#: common/setting/system.py:313 +#: common/setting/system.py:326 msgid "Notification Deletion Interval" msgstr "通知刪除間隔" -#: common/setting/system.py:315 +#: common/setting/system.py:328 msgid "User notifications will be deleted after specified number of days" msgstr "用户通知將在指定天數後被刪除" -#: common/setting/system.py:322 +#: common/setting/system.py:335 msgid "Barcode Support" msgstr "條形碼支持" -#: common/setting/system.py:323 +#: common/setting/system.py:336 msgid "Enable barcode scanner support in the web interface" msgstr "在網頁界面啓用條形碼掃描器支持" -#: common/setting/system.py:328 +#: common/setting/system.py:341 msgid "Store Barcode Results" msgstr "存儲條碼結果" -#: common/setting/system.py:329 +#: common/setting/system.py:342 msgid "Store barcode scan results in the database" msgstr "存儲條碼掃描結果" -#: common/setting/system.py:334 +#: common/setting/system.py:347 msgid "Barcode Scans Maximum Count" msgstr "條碼掃描最大計數" -#: common/setting/system.py:335 +#: common/setting/system.py:348 msgid "Maximum number of barcode scan results to store" msgstr "存儲條碼掃描結果的最大數量" -#: common/setting/system.py:340 +#: common/setting/system.py:353 msgid "Barcode Input Delay" msgstr "條形碼掃描延遲設置" -#: common/setting/system.py:341 +#: common/setting/system.py:354 msgid "Barcode input processing delay time" msgstr "條形碼輸入處理延遲時間" -#: common/setting/system.py:347 +#: common/setting/system.py:360 msgid "Barcode Webcam Support" msgstr "條碼攝像頭支持" -#: common/setting/system.py:348 +#: common/setting/system.py:361 msgid "Allow barcode scanning via webcam in browser" msgstr "允許通過網絡攝像頭掃描條形碼" -#: common/setting/system.py:353 +#: common/setting/system.py:366 msgid "Barcode Show Data" msgstr "條形碼顯示數據" -#: common/setting/system.py:354 +#: common/setting/system.py:367 msgid "Display barcode data in browser as text" msgstr "在瀏覽器中將條形碼數據顯示為文本" -#: common/setting/system.py:359 +#: common/setting/system.py:372 msgid "Barcode Generation Plugin" msgstr "條形碼生成插件" -#: common/setting/system.py:360 +#: common/setting/system.py:373 msgid "Plugin to use for internal barcode data generation" msgstr "用於內部條形碼數據生成的插件" -#: common/setting/system.py:365 +#: common/setting/system.py:378 msgid "Part Revisions" msgstr "零件修訂" -#: common/setting/system.py:366 +#: common/setting/system.py:379 msgid "Enable revision field for Part" msgstr "啓用零件修訂字段" -#: common/setting/system.py:371 +#: common/setting/system.py:384 msgid "Assembly Revision Only" msgstr "僅限裝配修訂版本" -#: common/setting/system.py:372 +#: common/setting/system.py:385 msgid "Only allow revisions for assembly parts" msgstr "僅允許對裝配零件進行修訂" -#: common/setting/system.py:377 +#: common/setting/system.py:390 msgid "Allow Deletion from Assembly" msgstr "允許從裝配中刪除" -#: common/setting/system.py:378 +#: common/setting/system.py:391 msgid "Allow deletion of parts which are used in an assembly" msgstr "允許刪除已在裝配中使用的零件" -#: common/setting/system.py:383 +#: common/setting/system.py:396 msgid "IPN Regex" msgstr "IPN 內部零件號" -#: common/setting/system.py:384 +#: common/setting/system.py:397 msgid "Regular expression pattern for matching Part IPN" msgstr "匹配零件 IPN(內部零件號)的正則表達式模式" -#: common/setting/system.py:387 +#: common/setting/system.py:400 msgid "Allow Duplicate IPN" msgstr "允許重複的 IPN(內部零件號)" -#: common/setting/system.py:388 +#: common/setting/system.py:401 msgid "Allow multiple parts to share the same IPN" msgstr "允許多個零件共享相同的 IPN(內部零件號)" -#: common/setting/system.py:393 +#: common/setting/system.py:406 msgid "Allow Editing IPN" msgstr "允許編輯 IPN(內部零件號)" -#: common/setting/system.py:394 +#: common/setting/system.py:407 msgid "Allow changing the IPN value while editing a part" msgstr "允許編輯零件時更改內部零件號" -#: common/setting/system.py:399 +#: common/setting/system.py:412 msgid "Copy Part BOM Data" msgstr "複製零件物料清單數據" -#: common/setting/system.py:400 +#: common/setting/system.py:413 msgid "Copy BOM data by default when duplicating a part" msgstr "複製零件時默認複製物料清單數據" -#: common/setting/system.py:405 +#: common/setting/system.py:418 msgid "Copy Part Parameter Data" msgstr "複製零件參數數據" -#: common/setting/system.py:406 +#: common/setting/system.py:419 msgid "Copy parameter data by default when duplicating a part" msgstr "複製零件時默認複製參數數據" -#: common/setting/system.py:411 +#: common/setting/system.py:424 msgid "Copy Part Test Data" msgstr "複製零件測試數據" -#: common/setting/system.py:412 +#: common/setting/system.py:425 msgid "Copy test data by default when duplicating a part" msgstr "複製零件時默認複製測試數據" -#: common/setting/system.py:417 +#: common/setting/system.py:430 msgid "Copy Category Parameter Templates" msgstr "複製類別參數模板" -#: common/setting/system.py:418 +#: common/setting/system.py:431 msgid "Copy category parameter templates when creating a part" msgstr "創建零件時複製類別參數模板" -#: common/setting/system.py:423 part/models.py:4088 report/models.py:357 -#: report/models.py:561 report/serializers.py:90 report/serializers.py:131 +#: common/setting/system.py:436 part/models.py:4088 report/models.py:362 +#: report/models.py:628 report/serializers.py:95 report/serializers.py:136 #: stock/serializers.py:247 msgid "Template" msgstr "模板" -#: common/setting/system.py:424 +#: common/setting/system.py:437 msgid "Parts are templates by default" msgstr "零件默認為模板" -#: common/setting/system.py:430 +#: common/setting/system.py:443 msgid "Parts can be assembled from other components by default" msgstr "默認情況下,元件可由其他零件組裝而成" -#: common/setting/system.py:435 part/models.py:1217 part/serializers.py:1781 -#: part/serializers.py:1787 +#: common/setting/system.py:448 part/models.py:1217 part/serializers.py:1748 +#: part/serializers.py:1754 msgid "Component" msgstr "組件" -#: common/setting/system.py:436 +#: common/setting/system.py:449 msgid "Parts can be used as sub-components by default" msgstr "默認情況下,零件可用作子部件" -#: common/setting/system.py:441 part/models.py:1235 +#: common/setting/system.py:454 part/models.py:1235 msgid "Purchaseable" msgstr "可購買" -#: common/setting/system.py:442 +#: common/setting/system.py:455 msgid "Parts are purchaseable by default" msgstr "默認情況下可購買零件" -#: common/setting/system.py:447 part/models.py:1241 stock/api.py:592 +#: common/setting/system.py:460 part/models.py:1241 stock/api.py:607 msgid "Salable" msgstr "可銷售" -#: common/setting/system.py:448 +#: common/setting/system.py:461 msgid "Parts are salable by default" msgstr "零件默認為可銷售" -#: common/setting/system.py:454 +#: common/setting/system.py:467 msgid "Parts are trackable by default" msgstr "默認情況下可跟蹤零件" -#: common/setting/system.py:459 part/models.py:1257 +#: common/setting/system.py:472 part/models.py:1257 msgid "Virtual" msgstr "虛擬的" -#: common/setting/system.py:460 +#: common/setting/system.py:473 msgid "Parts are virtual by default" msgstr "默認情況下,零件是虛擬的" -#: common/setting/system.py:465 +#: common/setting/system.py:478 msgid "Show related parts" msgstr "顯示相關零件" -#: common/setting/system.py:466 +#: common/setting/system.py:479 msgid "Display related parts for a part" msgstr "顯示零件的相關零件" -#: common/setting/system.py:471 +#: common/setting/system.py:484 msgid "Initial Stock Data" msgstr "初始庫存數據" -#: common/setting/system.py:472 +#: common/setting/system.py:485 msgid "Allow creation of initial stock when adding a new part" msgstr "允許在添加新零件時創建初始庫存" -#: common/setting/system.py:477 +#: common/setting/system.py:490 msgid "Initial Supplier Data" msgstr "初始供應商數據" -#: common/setting/system.py:479 +#: common/setting/system.py:492 msgid "Allow creation of initial supplier data when adding a new part" msgstr "允許在添加新零件時創建初始供應商數據" -#: common/setting/system.py:485 +#: common/setting/system.py:498 msgid "Part Name Display Format" msgstr "零件名稱顯示格式" -#: common/setting/system.py:486 +#: common/setting/system.py:499 msgid "Format to display the part name" msgstr "顯示零件名稱的格式" -#: common/setting/system.py:492 +#: common/setting/system.py:505 msgid "Part Category Default Icon" msgstr "零件類別默認圖標" -#: common/setting/system.py:493 +#: common/setting/system.py:506 msgid "Part category default icon (empty means no icon)" msgstr "零件類別默認圖標 (空表示沒有圖標)" -#: common/setting/system.py:498 +#: common/setting/system.py:511 msgid "Enforce Parameter Units" msgstr "強制參數單位" -#: common/setting/system.py:500 +#: common/setting/system.py:513 msgid "If units are provided, parameter values must match the specified units" msgstr "如果提供了單位,參數值必須與指定的單位匹配" -#: common/setting/system.py:506 +#: common/setting/system.py:519 msgid "Minimum Pricing Decimal Places" msgstr "最小定價小數位數" -#: common/setting/system.py:508 +#: common/setting/system.py:521 msgid "Minimum number of decimal places to display when rendering pricing data" msgstr "呈現定價數據時顯示的最小小數位數" -#: common/setting/system.py:519 +#: common/setting/system.py:532 msgid "Maximum Pricing Decimal Places" msgstr "最大定價小數位數" -#: common/setting/system.py:521 +#: common/setting/system.py:534 msgid "Maximum number of decimal places to display when rendering pricing data" msgstr "呈現定價數據時顯示的最大小數位數" -#: common/setting/system.py:532 +#: common/setting/system.py:545 msgid "Use Supplier Pricing" msgstr "使用供應商定價" -#: common/setting/system.py:534 +#: common/setting/system.py:547 msgid "Include supplier price breaks in overall pricing calculations" msgstr "將供應商的價批發價納入總體定價計算中" -#: common/setting/system.py:540 +#: common/setting/system.py:553 msgid "Purchase History Override" msgstr "購買歷史記錄覆蓋" -#: common/setting/system.py:542 +#: common/setting/system.py:555 msgid "Historical purchase order pricing overrides supplier price breaks" msgstr "歷史採購訂單定價優先於供應商批發價" -#: common/setting/system.py:548 +#: common/setting/system.py:561 msgid "Use Stock Item Pricing" msgstr "使用庫存項定價" -#: common/setting/system.py:550 +#: common/setting/system.py:563 msgid "Use pricing from manually entered stock data for pricing calculations" msgstr "使用手動輸入的庫存數據進行定價計算" -#: common/setting/system.py:556 +#: common/setting/system.py:569 msgid "Stock Item Pricing Age" msgstr "庫存項目定價時間" -#: common/setting/system.py:558 +#: common/setting/system.py:571 msgid "Exclude stock items older than this number of days from pricing calculations" msgstr "從定價計算中排除超過此天數的庫存項目" -#: common/setting/system.py:565 +#: common/setting/system.py:578 msgid "Use Variant Pricing" msgstr "使用變體定價" -#: common/setting/system.py:566 +#: common/setting/system.py:579 msgid "Include variant pricing in overall pricing calculations" msgstr "在整體定價計算中包括變體定價" -#: common/setting/system.py:571 +#: common/setting/system.py:584 msgid "Active Variants Only" msgstr "僅限活躍變體" -#: common/setting/system.py:573 +#: common/setting/system.py:586 msgid "Only use active variant parts for calculating variant pricing" msgstr "僅使用活躍變體零件計算變體價格" -#: common/setting/system.py:579 +#: common/setting/system.py:592 msgid "Pricing Rebuild Interval" msgstr "價格重建間隔" -#: common/setting/system.py:580 +#: common/setting/system.py:593 msgid "Number of days before part pricing is automatically updated" msgstr "零件價格自動更新前的天數" -#: common/setting/system.py:586 +#: common/setting/system.py:599 msgid "Internal Prices" msgstr "內部價格" -#: common/setting/system.py:587 +#: common/setting/system.py:600 msgid "Enable internal prices for parts" msgstr "啓用內部零件價格" -#: common/setting/system.py:592 +#: common/setting/system.py:605 msgid "Internal Price Override" msgstr "覆蓋內部價格" -#: common/setting/system.py:594 +#: common/setting/system.py:607 msgid "If available, internal prices override price range calculations" msgstr "如果有內部價格,內部價格將覆蓋價格範圍計算" -#: common/setting/system.py:600 +#: common/setting/system.py:613 msgid "Enable label printing" msgstr "啓用標籤打印功能" -#: common/setting/system.py:601 +#: common/setting/system.py:614 msgid "Enable label printing from the web interface" msgstr "啓用從網絡界面打印標籤" -#: common/setting/system.py:606 +#: common/setting/system.py:619 msgid "Label Image DPI" msgstr "標籤圖片 DPI" -#: common/setting/system.py:608 +#: common/setting/system.py:621 msgid "DPI resolution when generating image files to supply to label printing plugins" msgstr "生成圖像文件以供標籤打印插件使用時的 DPI 分辨率" -#: common/setting/system.py:614 +#: common/setting/system.py:627 msgid "Enable Reports" msgstr "啓用報告" -#: common/setting/system.py:615 +#: common/setting/system.py:628 msgid "Enable generation of reports" msgstr "啓用報告生成" -#: common/setting/system.py:620 +#: common/setting/system.py:633 msgid "Debug Mode" msgstr "調試模式" -#: common/setting/system.py:621 +#: common/setting/system.py:634 msgid "Generate reports in debug mode (HTML output)" msgstr "以調試模式生成報告(HTML 輸出)" -#: common/setting/system.py:626 +#: common/setting/system.py:639 msgid "Log Report Errors" msgstr "日誌錯誤報告" -#: common/setting/system.py:627 +#: common/setting/system.py:640 msgid "Log errors which occur when generating reports" msgstr "記錄生成報告時出現的錯誤" -#: common/setting/system.py:632 plugin/builtin/labels/label_sheet.py:29 -#: report/models.py:365 +#: common/setting/system.py:645 plugin/builtin/labels/label_sheet.py:29 +#: report/models.py:370 msgid "Page Size" msgstr "頁面大小" -#: common/setting/system.py:633 +#: common/setting/system.py:646 msgid "Default page size for PDF reports" msgstr "PDF 報告默認頁面大小" -#: common/setting/system.py:638 +#: common/setting/system.py:651 msgid "Globally Unique Serials" msgstr "全局唯一序列號" -#: common/setting/system.py:639 +#: common/setting/system.py:652 msgid "Serial numbers for stock items must be globally unique" msgstr "庫存項的序列號必須全局唯一" -#: common/setting/system.py:644 +#: common/setting/system.py:657 msgid "Delete Depleted Stock" msgstr "刪除已耗盡的庫存" -#: common/setting/system.py:645 +#: common/setting/system.py:658 msgid "Determines default behavior when a stock item is depleted" msgstr "設置庫存耗盡時的默認行為" -#: common/setting/system.py:650 +#: common/setting/system.py:663 msgid "Batch Code Template" msgstr "批號模板" -#: common/setting/system.py:651 +#: common/setting/system.py:664 msgid "Template for generating default batch codes for stock items" msgstr "為庫存項生成默認批號的模板" -#: common/setting/system.py:655 +#: common/setting/system.py:668 msgid "Stock Expiry" msgstr "庫存過期" -#: common/setting/system.py:656 +#: common/setting/system.py:669 msgid "Enable stock expiry functionality" msgstr "啓用庫存過期功能" -#: common/setting/system.py:661 +#: common/setting/system.py:674 msgid "Sell Expired Stock" msgstr "銷售過期庫存" -#: common/setting/system.py:662 +#: common/setting/system.py:675 msgid "Allow sale of expired stock" msgstr "允許銷售過期庫存" -#: common/setting/system.py:667 +#: common/setting/system.py:680 msgid "Stock Stale Time" msgstr "庫存過期時間" -#: common/setting/system.py:669 +#: common/setting/system.py:682 msgid "Number of days stock items are considered stale before expiring" msgstr "庫存項在到期前被視為過期的天數" -#: common/setting/system.py:676 +#: common/setting/system.py:689 msgid "Build Expired Stock" msgstr "生產過期庫存" -#: common/setting/system.py:677 +#: common/setting/system.py:690 msgid "Allow building with expired stock" msgstr "允許用過期的庫存生產" -#: common/setting/system.py:682 +#: common/setting/system.py:695 msgid "Stock Ownership Control" msgstr "庫存所有權控制" -#: common/setting/system.py:683 +#: common/setting/system.py:696 msgid "Enable ownership control over stock locations and items" msgstr "啓用庫存地點和項目的所有權控制" -#: common/setting/system.py:688 +#: common/setting/system.py:701 msgid "Stock Location Default Icon" msgstr "庫存地點默認圖標" -#: common/setting/system.py:689 +#: common/setting/system.py:702 msgid "Stock location default icon (empty means no icon)" msgstr "庫存地點默認圖標 (空表示沒有圖標)" -#: common/setting/system.py:694 +#: common/setting/system.py:707 msgid "Show Installed Stock Items" msgstr "顯示已安裝的庫存項" -#: common/setting/system.py:695 +#: common/setting/system.py:708 msgid "Display installed stock items in stock tables" msgstr "在庫存表中顯示已安裝的庫存項" -#: common/setting/system.py:700 +#: common/setting/system.py:713 msgid "Check BOM when installing items" msgstr "在安裝項目時檢查物料清單" -#: common/setting/system.py:702 +#: common/setting/system.py:715 msgid "Installed stock items must exist in the BOM for the parent part" msgstr "已安裝的庫存項目必須存在於上級零件的物料清單中" -#: common/setting/system.py:708 +#: common/setting/system.py:721 msgid "Allow Out of Stock Transfer" msgstr "允許超出庫存轉移" -#: common/setting/system.py:710 +#: common/setting/system.py:723 msgid "Allow stock items which are not in stock to be transferred between stock locations" msgstr "允許非庫存的庫存項目在庫存位置之間轉移" -#: common/setting/system.py:716 +#: common/setting/system.py:729 msgid "Build Order Reference Pattern" msgstr "生產訂單參考模式" -#: common/setting/system.py:717 +#: common/setting/system.py:730 msgid "Required pattern for generating Build Order reference field" msgstr "生成生產訂單參考字段所需的模式" -#: common/setting/system.py:722 common/setting/system.py:782 -#: common/setting/system.py:802 common/setting/system.py:838 +#: common/setting/system.py:735 common/setting/system.py:795 +#: common/setting/system.py:815 common/setting/system.py:851 msgid "Require Responsible Owner" msgstr "要求負責人" -#: common/setting/system.py:723 common/setting/system.py:783 -#: common/setting/system.py:803 common/setting/system.py:839 +#: common/setting/system.py:736 common/setting/system.py:796 +#: common/setting/system.py:816 common/setting/system.py:852 msgid "A responsible owner must be assigned to each order" msgstr "必須為每個訂單分配一個負責人" -#: common/setting/system.py:728 +#: common/setting/system.py:741 msgid "Require Active Part" msgstr "需要活動零件" -#: common/setting/system.py:729 +#: common/setting/system.py:742 msgid "Prevent build order creation for inactive parts" msgstr "防止為非活動零件創建生產訂單" -#: common/setting/system.py:734 +#: common/setting/system.py:747 msgid "Require Locked Part" msgstr "需要鎖定零件" -#: common/setting/system.py:735 +#: common/setting/system.py:748 msgid "Prevent build order creation for unlocked parts" msgstr "防止為未鎖定的零件創建生產訂單" -#: common/setting/system.py:740 +#: common/setting/system.py:753 msgid "Require Valid BOM" msgstr "需要有效的物料清單" -#: common/setting/system.py:741 +#: common/setting/system.py:754 msgid "Prevent build order creation unless BOM has been validated" msgstr "除非物料清單已驗證,否則禁止創建生產訂單" -#: common/setting/system.py:746 +#: common/setting/system.py:759 msgid "Require Closed Child Orders" msgstr "需要關閉子訂單" -#: common/setting/system.py:748 +#: common/setting/system.py:761 msgid "Prevent build order completion until all child orders are closed" msgstr "在所有子訂單關閉之前,阻止生產訂單的完成" -#: common/setting/system.py:754 +#: common/setting/system.py:767 msgid "External Build Orders" msgstr "" -#: common/setting/system.py:755 +#: common/setting/system.py:768 msgid "Enable external build order functionality" msgstr "" -#: common/setting/system.py:760 +#: common/setting/system.py:773 msgid "Block Until Tests Pass" msgstr "阻止直到測試通過" -#: common/setting/system.py:762 +#: common/setting/system.py:775 msgid "Prevent build outputs from being completed until all required tests pass" msgstr "在所有必要的測試通過之前,阻止產出完成" -#: common/setting/system.py:768 +#: common/setting/system.py:781 msgid "Enable Return Orders" msgstr "啓用訂單退貨" -#: common/setting/system.py:769 +#: common/setting/system.py:782 msgid "Enable return order functionality in the user interface" msgstr "在用户界面中啓用訂單退貨功能" -#: common/setting/system.py:774 +#: common/setting/system.py:787 msgid "Return Order Reference Pattern" msgstr "退貨訂單參考模式" -#: common/setting/system.py:776 +#: common/setting/system.py:789 msgid "Required pattern for generating Return Order reference field" msgstr "生成退貨訂單參考字段所需的模式" -#: common/setting/system.py:788 +#: common/setting/system.py:801 msgid "Edit Completed Return Orders" msgstr "編輯已完成的退貨訂單" -#: common/setting/system.py:790 +#: common/setting/system.py:803 msgid "Allow editing of return orders after they have been completed" msgstr "允許編輯已完成的退貨訂單" -#: common/setting/system.py:796 +#: common/setting/system.py:809 msgid "Sales Order Reference Pattern" msgstr "銷售訂單參考模式" -#: common/setting/system.py:797 +#: common/setting/system.py:810 msgid "Required pattern for generating Sales Order reference field" msgstr "生成銷售訂單參考字段所需參照模式" -#: common/setting/system.py:808 +#: common/setting/system.py:821 msgid "Sales Order Default Shipment" msgstr "銷售訂單默認配送方式" -#: common/setting/system.py:809 +#: common/setting/system.py:822 msgid "Enable creation of default shipment with sales orders" msgstr "啓用創建銷售訂單的默認配送功能" -#: common/setting/system.py:814 +#: common/setting/system.py:827 msgid "Edit Completed Sales Orders" msgstr "編輯已完成的銷售訂單" -#: common/setting/system.py:816 +#: common/setting/system.py:829 msgid "Allow editing of sales orders after they have been shipped or completed" msgstr "允許在訂單配送或完成後編輯銷售訂單" -#: common/setting/system.py:822 +#: common/setting/system.py:835 msgid "Mark Shipped Orders as Complete" msgstr "標記該訂單為已完成?" -#: common/setting/system.py:824 +#: common/setting/system.py:837 msgid "Sales orders marked as shipped will automatically be completed, bypassing the \"shipped\" status" msgstr "標記為已發貨的銷售訂單將自動完成,繞過“已發貨”狀態" -#: common/setting/system.py:830 +#: common/setting/system.py:843 msgid "Purchase Order Reference Pattern" msgstr "採購訂單參考模式" -#: common/setting/system.py:832 +#: common/setting/system.py:845 msgid "Required pattern for generating Purchase Order reference field" msgstr "生成採購訂單參考字段所需的模式" -#: common/setting/system.py:844 +#: common/setting/system.py:857 msgid "Edit Completed Purchase Orders" msgstr "編輯已完成的採購訂單" -#: common/setting/system.py:846 +#: common/setting/system.py:859 msgid "Allow editing of purchase orders after they have been shipped or completed" msgstr "允許在採購訂單已配送或完成後編輯訂單" -#: common/setting/system.py:852 +#: common/setting/system.py:865 msgid "Convert Currency" msgstr "" -#: common/setting/system.py:853 +#: common/setting/system.py:866 msgid "Convert item value to base currency when receiving stock" msgstr "" -#: common/setting/system.py:858 +#: common/setting/system.py:871 msgid "Auto Complete Purchase Orders" msgstr "自動完成採購訂單" -#: common/setting/system.py:860 +#: common/setting/system.py:873 msgid "Automatically mark purchase orders as complete when all line items are received" msgstr "當收到所有行項目時,自動將採購訂單標記為完成" -#: common/setting/system.py:867 +#: common/setting/system.py:880 msgid "Enable password forgot" msgstr "忘記啓用密碼" -#: common/setting/system.py:868 +#: common/setting/system.py:881 msgid "Enable password forgot function on the login pages" msgstr "在登錄頁面上啓用忘記密碼功能" -#: common/setting/system.py:873 +#: common/setting/system.py:886 msgid "Enable registration" msgstr "啓用註冊" -#: common/setting/system.py:874 +#: common/setting/system.py:887 msgid "Enable self-registration for users on the login pages" msgstr "在登錄頁面為用户啓用自行註冊功能" -#: common/setting/system.py:879 +#: common/setting/system.py:892 msgid "Enable SSO" msgstr "啓用單點登錄" -#: common/setting/system.py:880 +#: common/setting/system.py:893 msgid "Enable SSO on the login pages" msgstr "在登錄界面啓用單點登錄" -#: common/setting/system.py:885 +#: common/setting/system.py:898 msgid "Enable SSO registration" msgstr "啓用單點登錄註冊" -#: common/setting/system.py:887 +#: common/setting/system.py:900 msgid "Enable self-registration via SSO for users on the login pages" msgstr "允許登錄頁面上的用户通過 SSO 進行自我註冊" -#: common/setting/system.py:893 +#: common/setting/system.py:906 msgid "Enable SSO group sync" msgstr "啓用單點登錄羣組同步" -#: common/setting/system.py:895 +#: common/setting/system.py:908 msgid "Enable synchronizing InvenTree groups with groups provided by the IdP" msgstr "啓用庫存管理系統組和由身份提供者提供的組的同步功能" -#: common/setting/system.py:901 +#: common/setting/system.py:914 msgid "SSO group key" msgstr "單點登錄系統組密鑰" -#: common/setting/system.py:902 +#: common/setting/system.py:915 msgid "The name of the groups claim attribute provided by the IdP" msgstr "由身份提供者提供的組聲明屬性名稱" -#: common/setting/system.py:907 +#: common/setting/system.py:920 msgid "SSO group map" msgstr "單點登錄系統組地圖" -#: common/setting/system.py:909 +#: common/setting/system.py:922 msgid "A mapping from SSO groups to local InvenTree groups. If the local group does not exist, it will be created." msgstr "從單點登錄系統組組到本地庫存管理系統組的映射。如果本地組不存在,它將被創建。" -#: common/setting/system.py:915 +#: common/setting/system.py:928 msgid "Remove groups outside of SSO" msgstr "移除單點登錄系統以外的羣組" -#: common/setting/system.py:917 +#: common/setting/system.py:930 msgid "Whether groups assigned to the user should be removed if they are not backend by the IdP. Disabling this setting might cause security issues" msgstr "如果分配給用户的組不是身份提供者的後端,是否應該刪除它們。禁用此設置可能會造成安全問題" -#: common/setting/system.py:923 +#: common/setting/system.py:936 msgid "Email required" msgstr "需要郵箱地址" -#: common/setting/system.py:924 +#: common/setting/system.py:937 msgid "Require user to supply mail on signup" msgstr "要求用户在註冊時提供郵件" -#: common/setting/system.py:929 +#: common/setting/system.py:942 msgid "Auto-fill SSO users" msgstr "自動填充單點登錄系統用户" -#: common/setting/system.py:930 +#: common/setting/system.py:943 msgid "Automatically fill out user-details from SSO account-data" msgstr "自動使用單點登錄系統賬户的數據填寫用户詳細信息" -#: common/setting/system.py:935 +#: common/setting/system.py:948 msgid "Mail twice" msgstr "發兩次郵件" -#: common/setting/system.py:936 +#: common/setting/system.py:949 msgid "On signup ask users twice for their mail" msgstr "註冊時詢問用户他們的電子郵件兩次" -#: common/setting/system.py:941 +#: common/setting/system.py:954 msgid "Password twice" msgstr "兩次輸入密碼" -#: common/setting/system.py:942 +#: common/setting/system.py:955 msgid "On signup ask users twice for their password" msgstr "當註冊時請用户輸入密碼兩次" -#: common/setting/system.py:947 +#: common/setting/system.py:960 msgid "Allowed domains" msgstr "域名白名單" -#: common/setting/system.py:949 +#: common/setting/system.py:962 msgid "Restrict signup to certain domains (comma-separated, starting with @)" msgstr "限制註冊到某些域名 (逗號分隔,以 @ 開頭)" -#: common/setting/system.py:955 +#: common/setting/system.py:968 msgid "Group on signup" msgstr "註冊羣組" -#: common/setting/system.py:957 +#: common/setting/system.py:970 msgid "Group to which new users are assigned on registration. If SSO group sync is enabled, this group is only set if no group can be assigned from the IdP." msgstr "註冊時分配給新用户的組。 如果啓用了單點登錄系統羣組同步,此羣組僅在無法從 IdP 分配任何羣組的情況下才被設置。" -#: common/setting/system.py:963 +#: common/setting/system.py:976 msgid "Enforce MFA" msgstr "強制啓用多因素安全認證" -#: common/setting/system.py:964 +#: common/setting/system.py:977 msgid "Users must use multifactor security." msgstr "用户必須使用多因素安全認證。" -#: common/setting/system.py:969 +#: common/setting/system.py:982 msgid "Check plugins on startup" msgstr "啓動時檢查插件" -#: common/setting/system.py:971 +#: common/setting/system.py:984 msgid "Check that all plugins are installed on startup - enable in container environments" msgstr "啓動時檢查全部插件是否已安裝 - 在容器環境中啓用" -#: common/setting/system.py:978 +#: common/setting/system.py:991 msgid "Check for plugin updates" msgstr "檢查插件更新" -#: common/setting/system.py:979 +#: common/setting/system.py:992 msgid "Enable periodic checks for updates to installed plugins" msgstr "啓用定期檢查已安裝插件的更新" -#: common/setting/system.py:985 +#: common/setting/system.py:998 msgid "Enable URL integration" msgstr "啓用統一資源定位符集成" -#: common/setting/system.py:986 +#: common/setting/system.py:999 msgid "Enable plugins to add URL routes" msgstr "啓用插件以添加統一資源定位符路由" -#: common/setting/system.py:992 +#: common/setting/system.py:1005 msgid "Enable navigation integration" msgstr "啓用導航集成" -#: common/setting/system.py:993 +#: common/setting/system.py:1006 msgid "Enable plugins to integrate into navigation" msgstr "啓用插件以集成到導航中" -#: common/setting/system.py:999 +#: common/setting/system.py:1012 msgid "Enable app integration" msgstr "啓用應用集成" -#: common/setting/system.py:1000 +#: common/setting/system.py:1013 msgid "Enable plugins to add apps" msgstr "啓用插件添加應用" -#: common/setting/system.py:1006 +#: common/setting/system.py:1019 msgid "Enable schedule integration" msgstr "啓用調度集成" -#: common/setting/system.py:1007 +#: common/setting/system.py:1020 msgid "Enable plugins to run scheduled tasks" msgstr "啓用插件來運行預定任務" -#: common/setting/system.py:1013 +#: common/setting/system.py:1026 msgid "Enable event integration" msgstr "啓用事件集成" -#: common/setting/system.py:1014 +#: common/setting/system.py:1027 msgid "Enable plugins to respond to internal events" msgstr "啓用插件響應內部事件" -#: common/setting/system.py:1020 +#: common/setting/system.py:1033 msgid "Enable interface integration" msgstr "啓用界面集成" -#: common/setting/system.py:1021 +#: common/setting/system.py:1034 msgid "Enable plugins to integrate into the user interface" msgstr "啓用插件集成到用户界面" -#: common/setting/system.py:1027 +#: common/setting/system.py:1040 +msgid "Enable mail integration" +msgstr "" + +#: common/setting/system.py:1041 +msgid "Enable plugins to process outgoing/incoming mails" +msgstr "" + +#: common/setting/system.py:1047 msgid "Enable project codes" msgstr "" -#: common/setting/system.py:1028 +#: common/setting/system.py:1048 msgid "Enable project codes for tracking projects" msgstr "" -#: common/setting/system.py:1033 +#: common/setting/system.py:1053 msgid "Stocktake Functionality" msgstr "盤點功能" -#: common/setting/system.py:1035 +#: common/setting/system.py:1055 msgid "Enable stocktake functionality for recording stock levels and calculating stock value" msgstr "啓用盤點功能以記錄庫存水平和計算庫存值" -#: common/setting/system.py:1041 +#: common/setting/system.py:1061 msgid "Exclude External Locations" msgstr "排除外部地點" -#: common/setting/system.py:1043 +#: common/setting/system.py:1063 msgid "Exclude stock items in external locations from stocktake calculations" msgstr "從盤點計算中排除外部地點的庫存項" -#: common/setting/system.py:1049 +#: common/setting/system.py:1069 msgid "Automatic Stocktake Period" msgstr "自動盤點週期" -#: common/setting/system.py:1051 +#: common/setting/system.py:1071 msgid "Number of days between automatic stocktake recording (set to zero to disable)" msgstr "自動盤點記錄之間的天數 (設置為零以禁用)" -#: common/setting/system.py:1057 +#: common/setting/system.py:1077 msgid "Report Deletion Interval" msgstr "報告刪除間隔" -#: common/setting/system.py:1059 +#: common/setting/system.py:1079 msgid "Stocktake reports will be deleted after specified number of days" msgstr "盤點報告將在指定天數後刪除" -#: common/setting/system.py:1066 +#: common/setting/system.py:1086 msgid "Display Users full names" msgstr "顯示用户全名" -#: common/setting/system.py:1067 +#: common/setting/system.py:1087 msgid "Display Users full names instead of usernames" msgstr "顯示用户全名而不是用户名" -#: common/setting/system.py:1072 +#: common/setting/system.py:1092 msgid "Display User Profiles" msgstr "" -#: common/setting/system.py:1073 +#: common/setting/system.py:1093 msgid "Display Users Profiles on their profile page" msgstr "" -#: common/setting/system.py:1078 +#: common/setting/system.py:1098 msgid "Enable Test Station Data" msgstr "啓用測試站數據" -#: common/setting/system.py:1079 +#: common/setting/system.py:1099 msgid "Enable test station data collection for test results" msgstr "啓用測試站數據收集以獲取測試結果" -#: common/setting/system.py:1084 +#: common/setting/system.py:1104 msgid "Create Template on Upload" msgstr "上傳時創建模板" -#: common/setting/system.py:1086 +#: common/setting/system.py:1106 msgid "Create a new test template when uploading test data which does not match an existing template" msgstr "上傳測試數據與現有模板不匹配時創建一個新的測試模板" @@ -3407,42 +3540,34 @@ msgid "Preferred format for displaying dates" msgstr "顯示時間的首選格式" #: common/setting/user.py:215 -msgid "Part Scheduling" -msgstr "零件調度" - -#: common/setting/user.py:216 -msgid "Display part scheduling information" -msgstr "顯示零件排程信息" - -#: common/setting/user.py:221 msgid "Part Stocktake" msgstr "零件盤點" -#: common/setting/user.py:223 +#: common/setting/user.py:217 msgid "Display part stocktake information (if stocktake functionality is enabled)" msgstr "顯示零件盤點信息 (如果啓用了盤點功能)" -#: common/setting/user.py:229 +#: common/setting/user.py:223 msgid "Show Last Breadcrumb" msgstr "" -#: common/setting/user.py:230 +#: common/setting/user.py:224 msgid "Show the current page in breadcrumbs" msgstr "" -#: common/setting/user.py:235 +#: common/setting/user.py:229 msgid "Receive error reports" msgstr "接收錯誤報告" -#: common/setting/user.py:236 +#: common/setting/user.py:230 msgid "Receive notifications for system errors" msgstr "接收系統錯誤通知" -#: common/setting/user.py:241 +#: common/setting/user.py:235 msgid "Last used printing machines" msgstr "上次使用的打印設備" -#: common/setting/user.py:242 +#: common/setting/user.py:236 msgid "Save the last used printing machines for a user" msgstr "為用户保存上次使用的打印設備" @@ -3499,13 +3624,13 @@ msgstr "內部零件已激活" msgid "Supplier is Active" msgstr "供應商已激活" -#: company/api.py:299 company/models.py:498 company/serializers.py:444 -#: part/serializers.py:590 +#: company/api.py:299 company/models.py:531 company/serializers.py:444 +#: part/serializers.py:557 msgid "Manufacturer" msgstr "製造商" -#: company/api.py:306 company/models.py:97 company/models.py:370 -#: stock/api.py:849 +#: company/api.py:306 company/models.py:118 company/models.py:403 +#: stock/api.py:864 msgid "Company" msgstr "公司" @@ -3513,331 +3638,331 @@ msgstr "公司" msgid "Has Stock" msgstr "" -#: company/models.py:98 +#: company/models.py:119 msgid "Companies" msgstr "公司" -#: company/models.py:114 +#: company/models.py:147 msgid "Company description" msgstr "公司簡介" -#: company/models.py:115 +#: company/models.py:148 msgid "Description of the company" msgstr "公司簡介" -#: company/models.py:121 +#: company/models.py:154 msgid "Website" msgstr "網站" -#: company/models.py:122 +#: company/models.py:155 msgid "Company website URL" msgstr "公司網站" -#: company/models.py:128 +#: company/models.py:161 msgid "Phone number" msgstr "電話號碼" -#: company/models.py:130 +#: company/models.py:163 msgid "Contact phone number" msgstr "聯繫電話" -#: company/models.py:137 +#: company/models.py:170 msgid "Contact email address" msgstr "聯繫人電子郵箱地址" -#: company/models.py:142 company/models.py:274 order/models.py:501 +#: company/models.py:175 company/models.py:307 order/models.py:501 #: users/models.py:567 msgid "Contact" msgstr "聯繫人" -#: company/models.py:144 +#: company/models.py:177 msgid "Point of contact" msgstr "聯絡點" -#: company/models.py:150 +#: company/models.py:183 msgid "Link to external company information" msgstr "外部公司信息鏈接" -#: company/models.py:164 +#: company/models.py:197 msgid "Is this company active?" msgstr "這家公司是否激活?" -#: company/models.py:169 +#: company/models.py:202 msgid "Is customer" msgstr "是客户" -#: company/models.py:170 +#: company/models.py:203 msgid "Do you sell items to this company?" msgstr "你是否向該公司出售商品?" -#: company/models.py:175 +#: company/models.py:208 msgid "Is supplier" msgstr "是否為供應商" -#: company/models.py:176 +#: company/models.py:209 msgid "Do you purchase items from this company?" msgstr "你從這家公司買東西嗎?" -#: company/models.py:181 +#: company/models.py:214 msgid "Is manufacturer" msgstr "是製造商嗎" -#: company/models.py:182 +#: company/models.py:215 msgid "Does this company manufacture parts?" msgstr "這家公司生產零件嗎?" -#: company/models.py:190 +#: company/models.py:223 msgid "Default currency used for this company" msgstr "此公司使用的默認貨幣" -#: company/models.py:313 order/models.py:511 +#: company/models.py:346 order/models.py:511 msgid "Address" msgstr "地址" -#: company/models.py:314 +#: company/models.py:347 msgid "Addresses" msgstr "地址" -#: company/models.py:371 +#: company/models.py:404 msgid "Select company" msgstr "選擇公司" -#: company/models.py:376 +#: company/models.py:409 msgid "Address title" msgstr "地址標題" -#: company/models.py:377 +#: company/models.py:410 msgid "Title describing the address entry" msgstr "描述地址條目的標題" -#: company/models.py:383 +#: company/models.py:416 msgid "Primary address" msgstr "主要地址" -#: company/models.py:384 +#: company/models.py:417 msgid "Set as primary address" msgstr "設置主要地址" -#: company/models.py:389 +#: company/models.py:422 msgid "Line 1" msgstr "第1行" -#: company/models.py:390 +#: company/models.py:423 msgid "Address line 1" msgstr "地址行1" -#: company/models.py:396 +#: company/models.py:429 msgid "Line 2" msgstr "第2行" -#: company/models.py:397 +#: company/models.py:430 msgid "Address line 2" msgstr "地址行2" -#: company/models.py:403 company/models.py:404 +#: company/models.py:436 company/models.py:437 msgid "Postal code" msgstr "郵政編碼" -#: company/models.py:410 +#: company/models.py:443 msgid "City/Region" msgstr "城市/地區" -#: company/models.py:411 +#: company/models.py:444 msgid "Postal code city/region" msgstr "郵政編碼城市/地區" -#: company/models.py:417 +#: company/models.py:450 msgid "State/Province" msgstr "省/市/自治區" -#: company/models.py:418 +#: company/models.py:451 msgid "State or province" msgstr "省、自治區或直轄市" -#: company/models.py:424 +#: company/models.py:457 msgid "Country" msgstr "國家/地區" -#: company/models.py:425 +#: company/models.py:458 msgid "Address country" msgstr "地址所在國家" -#: company/models.py:431 +#: company/models.py:464 msgid "Courier shipping notes" msgstr "快遞運單" -#: company/models.py:432 +#: company/models.py:465 msgid "Notes for shipping courier" msgstr "運輸快遞注意事項" -#: company/models.py:438 +#: company/models.py:471 msgid "Internal shipping notes" msgstr "內部裝運通知單" -#: company/models.py:439 +#: company/models.py:472 msgid "Shipping notes for internal use" msgstr "內部使用的裝運通知單" -#: company/models.py:446 +#: company/models.py:479 msgid "Link to address information (external)" msgstr "鏈接地址信息 (外部)" -#: company/models.py:470 company/models.py:587 company/models.py:809 +#: company/models.py:503 company/models.py:620 company/models.py:842 #: company/serializers.py:458 msgid "Manufacturer Part" msgstr "製造商零件" -#: company/models.py:487 company/models.py:777 stock/models.py:948 +#: company/models.py:520 company/models.py:810 stock/models.py:948 #: stock/serializers.py:480 msgid "Base Part" msgstr "基礎零件" -#: company/models.py:489 company/models.py:779 +#: company/models.py:522 company/models.py:812 msgid "Select part" msgstr "選擇零件" -#: company/models.py:499 +#: company/models.py:532 msgid "Select manufacturer" msgstr "選擇製造商" -#: company/models.py:505 company/serializers.py:466 order/serializers.py:672 -#: part/serializers.py:600 +#: company/models.py:538 company/serializers.py:466 order/serializers.py:672 +#: part/serializers.py:567 msgid "MPN" msgstr "製造商零件編號" -#: company/models.py:506 stock/serializers.py:625 +#: company/models.py:539 stock/serializers.py:635 msgid "Manufacturer Part Number" msgstr "製造商零件編號" -#: company/models.py:513 +#: company/models.py:546 msgid "URL for external manufacturer part link" msgstr "外部製造商零件鏈接的URL" -#: company/models.py:522 +#: company/models.py:555 msgid "Manufacturer part description" msgstr "製造商零件説明" -#: company/models.py:575 +#: company/models.py:608 msgid "Manufacturer Part Parameter" msgstr "製造商零件參數" -#: company/models.py:594 +#: company/models.py:627 msgid "Parameter name" msgstr "參數名稱" -#: company/models.py:601 +#: company/models.py:634 msgid "Parameter value" msgstr "參數值" -#: company/models.py:608 part/models.py:1204 part/models.py:3897 +#: company/models.py:641 part/models.py:1204 part/models.py:3897 msgid "Units" msgstr "單位" -#: company/models.py:609 +#: company/models.py:642 msgid "Parameter units" msgstr "參數單位" -#: company/models.py:717 +#: company/models.py:750 msgid "Pack units must be compatible with the base part units" msgstr "包裝單位必須與基礎零件單位兼容" -#: company/models.py:724 +#: company/models.py:757 msgid "Pack units must be greater than zero" msgstr "包裝單位必須大於零" -#: company/models.py:738 +#: company/models.py:771 msgid "Linked manufacturer part must reference the same base part" msgstr "鏈接的製造商零件必須引用相同的基礎零件" -#: company/models.py:787 company/serializers.py:436 company/serializers.py:454 -#: order/models.py:627 part/serializers.py:574 -#: plugin/builtin/suppliers/digikey.py:25 plugin/builtin/suppliers/lcsc.py:26 -#: plugin/builtin/suppliers/mouser.py:24 plugin/builtin/suppliers/tme.py:26 -#: stock/api.py:516 templates/email/overdue_purchase_order.html:16 +#: company/models.py:820 company/serializers.py:436 company/serializers.py:454 +#: order/models.py:627 part/serializers.py:541 +#: 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:531 templates/email/overdue_purchase_order.html:16 msgid "Supplier" msgstr "供應商" -#: company/models.py:788 +#: company/models.py:821 msgid "Select supplier" msgstr "選擇供應商" -#: company/models.py:794 part/serializers.py:585 +#: company/models.py:827 part/serializers.py:552 msgid "Supplier stock keeping unit" msgstr "供應商庫存管理單位" -#: company/models.py:800 +#: company/models.py:833 msgid "Is this supplier part active?" msgstr "此供應商零件是否處於活動狀態?" -#: company/models.py:810 +#: company/models.py:843 msgid "Select manufacturer part" msgstr "選擇製造商零件" -#: company/models.py:817 +#: company/models.py:850 msgid "URL for external supplier part link" msgstr "外部供應商零件鏈接的URL" -#: company/models.py:826 +#: company/models.py:859 msgid "Supplier part description" msgstr "供應商零件説明" -#: company/models.py:833 order/serializers.py:826 order/serializers.py:2035 +#: company/models.py:866 order/serializers.py:826 order/serializers.py:2035 #: part/models.py:4409 part/models.py:4750 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:32 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:838 +#: stock/serializers.py:855 msgid "Note" msgstr "備註" -#: company/models.py:842 part/models.py:2200 +#: company/models.py:875 part/models.py:2200 msgid "base cost" msgstr "基本費用" -#: company/models.py:843 part/models.py:2201 +#: company/models.py:876 part/models.py:2201 msgid "Minimum charge (e.g. stocking fee)" msgstr "最低費用(例如庫存費)" -#: company/models.py:850 order/serializers.py:818 stock/models.py:979 -#: stock/serializers.py:1666 +#: company/models.py:883 order/serializers.py:818 stock/models.py:979 +#: stock/serializers.py:1678 msgid "Packaging" msgstr "打包" -#: company/models.py:851 +#: company/models.py:884 msgid "Part packaging" msgstr "零件打包" -#: company/models.py:856 +#: company/models.py:889 msgid "Pack Quantity" msgstr "包裝數量" -#: company/models.py:858 +#: company/models.py:891 msgid "Total quantity supplied in a single pack. Leave empty for single items." msgstr "單包供應的總數量。為單個項目留空。" -#: company/models.py:877 part/models.py:2207 +#: company/models.py:910 part/models.py:2207 msgid "multiple" msgstr "多個" -#: company/models.py:878 +#: company/models.py:911 msgid "Order multiple" msgstr "訂購多個" -#: company/models.py:890 +#: company/models.py:923 msgid "Quantity available from supplier" msgstr "供應商提供的數量" -#: company/models.py:896 +#: company/models.py:929 msgid "Availability Updated" msgstr "可用性已更新" -#: company/models.py:897 +#: company/models.py:930 msgid "Date of last update of availability data" msgstr "上次更新可用性數據的日期" -#: company/models.py:1025 +#: company/models.py:1058 msgid "Supplier Price Break" msgstr "供應商批發價" @@ -3853,7 +3978,7 @@ msgstr "此供應商使用的默認貨幣" msgid "Company Name" msgstr "公司名稱" -#: company/serializers.py:420 part/serializers.py:963 stock/serializers.py:498 +#: company/serializers.py:420 part/serializers.py:930 stock/serializers.py:498 msgid "In Stock" msgstr "有庫存" @@ -3889,10 +4014,6 @@ msgstr "此項目的附加狀態信息" msgid "Custom status key" msgstr "自定義狀態密鑰" -#: generic/states/serializers.py:16 plugin/models.py:45 users/models.py:119 -msgid "Key" -msgstr "鍵" - #: generic/states/serializers.py:26 msgid "Custom" msgstr "" @@ -3997,7 +4118,7 @@ msgstr "原始行數據" msgid "Errors" msgstr "錯誤" -#: importer/models.py:527 part/api.py:839 +#: importer/models.py:527 part/api.py:634 msgid "Valid" msgstr "有效" @@ -4382,7 +4503,7 @@ msgid "Order reference" msgstr "訂單參考" #: order/models.py:612 order/models.py:1207 order/models.py:2511 -#: stock/serializers.py:612 stock/serializers.py:1010 users/models.py:548 +#: stock/serializers.py:622 stock/serializers.py:1027 users/models.py:548 msgid "Status" msgstr "狀態" @@ -4427,7 +4548,7 @@ msgid "Quantity must be a positive number" msgstr "數量必須是正數" #: order/models.py:1194 order/models.py:2498 stock/models.py:1001 -#: stock/models.py:1002 stock/serializers.py:1405 +#: stock/models.py:1002 stock/serializers.py:1417 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -4545,7 +4666,7 @@ msgstr "已接收" msgid "Number of items received" msgstr "收到的物品數量" -#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:679 +#: order/models.py:1787 stock/models.py:1124 stock/serializers.py:689 msgid "Purchase Price" msgstr "採購價格" @@ -4850,11 +4971,11 @@ msgstr "合併項目" msgid "Merge items with the same part, destination and target date into one line item" msgstr "將具有相同零件、目的地和目標日期的項目合併到一個行項目中" -#: order/serializers.py:665 part/serializers.py:584 +#: order/serializers.py:665 part/serializers.py:551 msgid "SKU" msgstr "庫存量單位" -#: order/serializers.py:679 part/models.py:1089 part/serializers.py:411 +#: order/serializers.py:679 part/models.py:1089 part/serializers.py:378 msgid "Internal Part Number" msgstr "內部零件編號" @@ -5046,130 +5167,114 @@ msgstr "退款" msgid "Reject" msgstr "拒絕" -#: order/tasks.py:44 +#: order/tasks.py:47 msgid "Overdue Purchase Order" msgstr "逾期採購訂單" -#: order/tasks.py:49 +#: order/tasks.py:52 #, python-brace-format msgid "Purchase order {po} is now overdue" msgstr "採購訂單 {po} 已逾期" -#: order/tasks.py:112 +#: order/tasks.py:117 msgid "Overdue Sales Order" msgstr "逾期銷售訂單" -#: order/tasks.py:117 +#: order/tasks.py:122 #, python-brace-format msgid "Sales order {so} is now overdue" msgstr "銷售訂單 {so} 已逾期" -#: order/tasks.py:177 +#: order/tasks.py:184 msgid "Overdue Return Order" msgstr "" -#: order/tasks.py:182 +#: order/tasks.py:189 #, python-brace-format msgid "Return order {ro} is now overdue" msgstr "" -#: part/api.py:115 +#: part/api.py:109 msgid "Starred" msgstr "已加星標" -#: part/api.py:117 +#: part/api.py:111 msgid "Filter by starred categories" msgstr "按星標類別篩選" -#: part/api.py:134 stock/api.py:255 +#: part/api.py:128 stock/api.py:270 msgid "Depth" msgstr "深度" -#: part/api.py:134 +#: part/api.py:128 msgid "Filter by category depth" msgstr "按類別深度篩選" -#: part/api.py:152 stock/api.py:273 +#: part/api.py:146 stock/api.py:288 msgid "Top Level" msgstr "頂級" -#: part/api.py:154 +#: part/api.py:148 msgid "Filter by top-level categories" msgstr "按頂級類別篩選" -#: part/api.py:167 stock/api.py:288 +#: part/api.py:161 stock/api.py:303 msgid "Cascade" msgstr "級聯" -#: part/api.py:169 +#: part/api.py:163 msgid "Include sub-categories in filtered results" msgstr "在篩選結果中包含子類別" -#: part/api.py:189 +#: part/api.py:183 msgid "Parent" msgstr "父類" -#: part/api.py:191 +#: part/api.py:185 msgid "Filter by parent category" msgstr "按父類別篩選" -#: part/api.py:226 +#: part/api.py:220 msgid "Exclude sub-categories under the specified category" msgstr "排除指定類別下的子類別" -#: part/api.py:438 +#: part/api.py:432 msgid "Has Results" msgstr "有結果" -#: part/api.py:611 -msgid "Incoming Purchase Order" -msgstr "收到的採購訂單" - -#: part/api.py:625 -msgid "Outgoing Sales Order" -msgstr "外發銷售訂單" - -#: part/api.py:637 -msgid "Stock produced by Build Order" -msgstr "建造生產訂單產生的庫存" - -#: part/api.py:719 -msgid "Stock required for Build Order" -msgstr "生產訂單所需的庫存" - -#: part/api.py:840 +#: part/api.py:635 msgid "Validate entire Bill of Materials" msgstr "驗證整個物料清單" -#: part/api.py:846 +#: part/api.py:641 msgid "This option must be selected" msgstr "必須選擇此項" -#: part/api.py:882 +#: part/api.py:677 msgid "Is Variant" msgstr "" -#: part/api.py:890 +#: part/api.py:685 msgid "Is Revision" msgstr "是修訂版本" -#: part/api.py:900 +#: part/api.py:695 msgid "Has Revisions" msgstr "有修訂版本" -#: part/api.py:1091 +#: part/api.py:886 msgid "BOM Valid" msgstr "物料清單合規" -#: part/api.py:1784 +#: part/api.py:1579 msgid "Assembly part is testable" msgstr "裝配部份是可測試的" -#: part/api.py:1793 +#: part/api.py:1588 msgid "Component part is testable" msgstr "組件部份是可測試的" -#: part/api.py:1844 +#: part/api.py:1639 msgid "Uses" msgstr "使用" @@ -5219,7 +5324,7 @@ msgstr "圖標(可選)" msgid "You cannot make this part category structural because some parts are already assigned to it!" msgstr "您不能使這個零件類別結構化,因為有些零件已經分配給了它!" -#: part/models.py:458 part/serializers.py:125 part/serializers.py:342 +#: part/models.py:458 part/serializers.py:125 part/serializers.py:309 #: users/ruleset.py:29 msgid "Parts" msgstr "零件" @@ -5335,7 +5440,7 @@ msgstr "提高搜索結果可見性的零件關鍵字" msgid "Part category" msgstr "零件類別" -#: part/models.py:1088 part/serializers.py:937 +#: part/models.py:1088 part/serializers.py:904 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "內部零件號 IPN" @@ -5344,7 +5449,7 @@ msgstr "內部零件號 IPN" msgid "Part revision or version number" msgstr "零件修訂版本或版本號" -#: part/models.py:1097 report/models.py:215 +#: part/models.py:1097 report/models.py:217 msgid "Revision" msgstr "版本" @@ -5376,7 +5481,7 @@ msgstr "默認到期" msgid "Expiry time (in days) for stock items of this part" msgstr "此零件庫存項的過期時間 (天)" -#: part/models.py:1195 part/serializers.py:1011 +#: part/models.py:1195 part/serializers.py:978 msgid "Minimum Stock" msgstr "最低庫存" @@ -5612,7 +5717,7 @@ msgstr "盤點時的個別庫存條目數" msgid "Total available stock at time of stocktake" msgstr "盤點時可用庫存總額" -#: part/models.py:3408 part/models.py:3491 part/serializers.py:272 +#: part/models.py:3408 part/models.py:3491 #: report/templates/report/inventree_test_report.html:106 msgid "Date" msgstr "日期" @@ -5713,7 +5818,7 @@ msgstr "測試説明" msgid "Enter description for this test" msgstr "輸入測試的描述" -#: part/models.py:3745 report/models.py:271 +#: part/models.py:3745 report/models.py:276 msgid "Enabled" msgstr "已啓用" @@ -5977,359 +6082,351 @@ msgstr "結果" msgid "Number of results recorded against this template" msgstr "根據該模板記錄的結果數量" -#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:685 +#: part/serializers.py:234 part/serializers.py:252 stock/serializers.py:695 msgid "Purchase currency of this stock item" msgstr "購買此庫存項的貨幣" -#: part/serializers.py:277 -msgid "Speculative Quantity" -msgstr "投機數量" - -#: part/serializers.py:286 -msgid "Model ID" -msgstr "型號ID" - -#: part/serializers.py:312 +#: part/serializers.py:279 msgid "File is not an image" msgstr "" -#: part/serializers.py:343 +#: part/serializers.py:310 msgid "Number of parts using this template" msgstr "使用此模板的零件數" -#: part/serializers.py:495 +#: part/serializers.py:462 msgid "Original Part" msgstr "原始零件" -#: part/serializers.py:496 +#: part/serializers.py:463 msgid "Select original part to duplicate" msgstr "選擇要複製的原始零件" -#: part/serializers.py:501 +#: part/serializers.py:468 msgid "Copy Image" msgstr "複製圖片" -#: part/serializers.py:502 +#: part/serializers.py:469 msgid "Copy image from original part" msgstr "從原零件複製圖片" -#: part/serializers.py:508 +#: part/serializers.py:475 msgid "Copy BOM" msgstr "複製物料清單" -#: part/serializers.py:509 +#: part/serializers.py:476 msgid "Copy bill of materials from original part" msgstr "從原始零件複製材料清單" -#: part/serializers.py:515 +#: part/serializers.py:482 msgid "Copy Parameters" msgstr "複製參數" -#: part/serializers.py:516 +#: part/serializers.py:483 msgid "Copy parameter data from original part" msgstr "從原始零件複製參數數據" -#: part/serializers.py:522 +#: part/serializers.py:489 msgid "Copy Notes" msgstr "複製備註" -#: part/serializers.py:523 +#: part/serializers.py:490 msgid "Copy notes from original part" msgstr "從原始零件複製備註" -#: part/serializers.py:529 +#: part/serializers.py:496 msgid "Copy Tests" msgstr "" -#: part/serializers.py:530 +#: part/serializers.py:497 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:548 +#: part/serializers.py:515 msgid "Initial Stock Quantity" msgstr "初始化庫存數量" -#: part/serializers.py:550 +#: part/serializers.py:517 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "指定此零件的初始庫存數量。如果數量為零,則不添加任何庫存。" -#: part/serializers.py:557 +#: part/serializers.py:524 msgid "Initial Stock Location" msgstr "初始化庫存地點" -#: part/serializers.py:558 +#: part/serializers.py:525 msgid "Specify initial stock location for this Part" msgstr "初始化指定此零件的庫存地點" -#: part/serializers.py:575 +#: part/serializers.py:542 msgid "Select supplier (or leave blank to skip)" msgstr "選擇供應商(或為空以跳過)" -#: part/serializers.py:591 +#: part/serializers.py:558 msgid "Select manufacturer (or leave blank to skip)" msgstr "選擇製造商(或為空)" -#: part/serializers.py:601 +#: part/serializers.py:568 msgid "Manufacturer part number" msgstr "製造商零件號" -#: part/serializers.py:608 +#: part/serializers.py:575 msgid "Selected company is not a valid supplier" msgstr "所選公司不是一個有效的供應商" -#: part/serializers.py:617 +#: part/serializers.py:584 msgid "Selected company is not a valid manufacturer" msgstr "所選公司不是一個有效的製造商" -#: part/serializers.py:628 +#: part/serializers.py:595 msgid "Manufacturer part matching this MPN already exists" msgstr "與此製造商零件編號 (MPN) 的相匹配的製造商零件已存在" -#: part/serializers.py:635 +#: part/serializers.py:602 msgid "Supplier part matching this SKU already exists" msgstr "匹配此庫存單位 (SKU) 的供應商零件已存在" -#: part/serializers.py:922 part/stocktake.py:222 +#: part/serializers.py:889 part/stocktake.py:222 msgid "Category Name" msgstr "類別名稱" -#: part/serializers.py:951 +#: part/serializers.py:918 msgid "Building" msgstr "正在生產" -#: part/serializers.py:952 +#: part/serializers.py:919 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:958 part/serializers.py:1263 +#: part/serializers.py:925 part/serializers.py:1230 msgid "Scheduled to Build" msgstr "" -#: part/serializers.py:959 +#: part/serializers.py:926 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:979 part/stocktake.py:223 stock/serializers.py:1084 -#: stock/serializers.py:1260 users/ruleset.py:32 +#: part/serializers.py:946 part/stocktake.py:223 stock/serializers.py:1101 +#: stock/serializers.py:1272 users/ruleset.py:32 msgid "Stock Items" msgstr "庫存項" -#: part/serializers.py:983 +#: part/serializers.py:950 msgid "Revisions" msgstr "修訂" -#: part/serializers.py:987 +#: part/serializers.py:954 msgid "Suppliers" msgstr "供應商" -#: part/serializers.py:991 part/serializers.py:1246 +#: part/serializers.py:958 part/serializers.py:1213 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "庫存總量" -#: part/serializers.py:999 +#: part/serializers.py:966 msgid "Unallocated Stock" msgstr "未分配的庫存" -#: part/serializers.py:1007 +#: part/serializers.py:974 msgid "Variant Stock" msgstr "變體庫存" -#: part/serializers.py:1040 +#: part/serializers.py:1007 msgid "Duplicate Part" msgstr "重複零件" -#: part/serializers.py:1041 +#: part/serializers.py:1008 msgid "Copy initial data from another Part" msgstr "從另一個零件複製初始數據" -#: part/serializers.py:1047 +#: part/serializers.py:1014 msgid "Initial Stock" msgstr "初始庫存" -#: part/serializers.py:1048 +#: part/serializers.py:1015 msgid "Create Part with initial stock quantity" msgstr "創建具有初始庫存數量的零件" -#: part/serializers.py:1054 +#: part/serializers.py:1021 msgid "Supplier Information" msgstr "供應商信息" -#: part/serializers.py:1055 +#: part/serializers.py:1022 msgid "Add initial supplier information for this part" msgstr "添加此零件的初始供應商信息" -#: part/serializers.py:1063 +#: part/serializers.py:1030 msgid "Copy Category Parameters" msgstr "複製類別參數" -#: part/serializers.py:1064 +#: part/serializers.py:1031 msgid "Copy parameter templates from selected part category" msgstr "從選擇的零件複製參數模版" -#: part/serializers.py:1069 +#: part/serializers.py:1036 msgid "Existing Image" msgstr "現有的圖片" -#: part/serializers.py:1070 +#: part/serializers.py:1037 msgid "Filename of an existing part image" msgstr "現有零件圖片的文件名" -#: part/serializers.py:1087 +#: part/serializers.py:1054 msgid "Image file does not exist" msgstr "圖片不存在" -#: part/serializers.py:1252 part/serializers.py:1802 +#: part/serializers.py:1219 part/serializers.py:1769 msgid "Can Build" msgstr "可以創建" -#: part/serializers.py:1269 +#: part/serializers.py:1236 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1274 +#: part/serializers.py:1241 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1281 +#: part/serializers.py:1248 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1285 +#: part/serializers.py:1252 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1361 +#: part/serializers.py:1328 msgid "Limit stocktake report to a particular part, and any variant parts" msgstr "限制盤點報告到某個特定零件以及任何變體零件" -#: part/serializers.py:1371 +#: part/serializers.py:1338 msgid "Limit stocktake report to a particular part category, and any child categories" msgstr "限制盤點報告到某個特定零件類別以及任何子類別" -#: part/serializers.py:1381 +#: part/serializers.py:1348 msgid "Limit stocktake report to a particular stock location, and any child locations" msgstr "限制盤點報告到某個特定零件庫存地點以及任何子位置" -#: part/serializers.py:1387 +#: part/serializers.py:1354 msgid "Exclude External Stock" msgstr "排除外部庫存" -#: part/serializers.py:1388 +#: part/serializers.py:1355 msgid "Exclude stock items in external locations" msgstr "排除外部位置的庫存項" -#: part/serializers.py:1393 +#: part/serializers.py:1360 msgid "Generate Report" msgstr "生成報告" -#: part/serializers.py:1394 +#: part/serializers.py:1361 msgid "Generate report file containing calculated stocktake data" msgstr "生成包含計算出來的盤點數據的報告文件" -#: part/serializers.py:1399 +#: part/serializers.py:1366 msgid "Update Parts" msgstr "更新零件" -#: part/serializers.py:1400 +#: part/serializers.py:1367 msgid "Update specified parts with calculated stocktake data" msgstr "使用計算出的盤點數據更新指定零件" -#: part/serializers.py:1408 +#: part/serializers.py:1375 msgid "Stocktake functionality is not enabled" msgstr "盤點功能未啓用" -#: part/serializers.py:1413 +#: part/serializers.py:1380 msgid "Background worker check failed" msgstr "後台執行器檢查失敗" -#: part/serializers.py:1529 +#: part/serializers.py:1496 msgid "Minimum Price" msgstr "最低價格" -#: part/serializers.py:1530 +#: part/serializers.py:1497 msgid "Override calculated value for minimum price" msgstr "覆蓋已計算的最低價格值" -#: part/serializers.py:1537 +#: part/serializers.py:1504 msgid "Minimum price currency" msgstr "最低價格貨幣" -#: part/serializers.py:1544 +#: part/serializers.py:1511 msgid "Maximum Price" msgstr "最高價格" -#: part/serializers.py:1545 +#: part/serializers.py:1512 msgid "Override calculated value for maximum price" msgstr "覆蓋已計算的最高價格值" -#: part/serializers.py:1552 +#: part/serializers.py:1519 msgid "Maximum price currency" msgstr "最高價格貨幣" -#: part/serializers.py:1581 +#: part/serializers.py:1548 msgid "Update" msgstr "更新" -#: part/serializers.py:1582 +#: part/serializers.py:1549 msgid "Update pricing for this part" msgstr "更新這個零件的價格" -#: part/serializers.py:1605 +#: part/serializers.py:1572 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "無法將所提供的貨幣轉換為 {default_currency}" -#: part/serializers.py:1612 +#: part/serializers.py:1579 msgid "Minimum price must not be greater than maximum price" msgstr "最低價格不能高於最高價格。" -#: part/serializers.py:1615 +#: part/serializers.py:1582 msgid "Maximum price must not be less than minimum price" msgstr "最高價格不能低於最低價格" -#: part/serializers.py:1768 +#: part/serializers.py:1735 msgid "Select the parent assembly" msgstr "選擇父裝配" -#: part/serializers.py:1782 +#: part/serializers.py:1749 msgid "Select the component part" msgstr "選擇零部件" -#: part/serializers.py:2029 +#: part/serializers.py:1996 msgid "Select part to copy BOM from" msgstr "選擇要複製物料清單的零件" -#: part/serializers.py:2037 +#: part/serializers.py:2004 msgid "Remove Existing Data" msgstr "移除現有數據" -#: part/serializers.py:2038 +#: part/serializers.py:2005 msgid "Remove existing BOM items before copying" msgstr "複製前刪除現有的物料清單項目" -#: part/serializers.py:2043 +#: part/serializers.py:2010 msgid "Include Inherited" msgstr "包含繼承的" -#: part/serializers.py:2044 +#: part/serializers.py:2011 msgid "Include BOM items which are inherited from templated parts" msgstr "包含從模板零件繼承的物料清單項目" -#: part/serializers.py:2049 +#: part/serializers.py:2016 msgid "Skip Invalid Rows" msgstr "跳過無效行" -#: part/serializers.py:2050 +#: part/serializers.py:2017 msgid "Enable this option to skip invalid rows" msgstr "啓用此選項以跳過無效行" -#: part/serializers.py:2055 +#: part/serializers.py:2022 msgid "Copy Substitute Parts" msgstr "複製替代品零件" -#: part/serializers.py:2056 +#: part/serializers.py:2023 msgid "Copy substitute parts when duplicate BOM items" msgstr "複製物料清單項目時複製替代品零件" @@ -6651,8 +6748,8 @@ msgstr "提供條形碼本地支持" #: plugin/builtin/labels/inventree_label.py:26 #: plugin/builtin/labels/inventree_machine.py:64 #: plugin/builtin/labels/label_sheet.py:72 -#: plugin/builtin/suppliers/digikey.py:19 plugin/builtin/suppliers/lcsc.py:21 -#: plugin/builtin/suppliers/mouser.py:19 plugin/builtin/suppliers/tme.py:21 +#: plugin/builtin/suppliers/digikey.py:20 plugin/builtin/suppliers/lcsc.py:22 +#: plugin/builtin/suppliers/mouser.py:20 plugin/builtin/suppliers/tme.py:22 msgid "InvenTree contributors" msgstr "InvenTree 貢獻者" @@ -6979,7 +7076,7 @@ msgstr "邊框" msgid "Print a border around each label" msgstr "打印每個標籤的邊框" -#: plugin/builtin/labels/label_sheet.py:49 report/models.py:371 +#: plugin/builtin/labels/label_sheet.py:49 report/models.py:376 msgid "Landscape" msgstr "橫屏模式" @@ -7011,51 +7108,51 @@ msgstr "標籤大過頁面" msgid "No labels were generated" msgstr "沒有生成標籤" -#: plugin/builtin/suppliers/digikey.py:16 +#: plugin/builtin/suppliers/digikey.py:17 msgid "Supplier Integration - DigiKey" msgstr "供應商集成 - DigiKey" -#: plugin/builtin/suppliers/digikey.py:17 +#: plugin/builtin/suppliers/digikey.py:18 msgid "Provides support for scanning DigiKey barcodes" msgstr "為掃描 DigiKey 條形碼提供支持" -#: plugin/builtin/suppliers/digikey.py:26 +#: plugin/builtin/suppliers/digikey.py:27 msgid "The Supplier which acts as 'DigiKey'" msgstr "作為“DigiKey”的供應商。" -#: plugin/builtin/suppliers/lcsc.py:18 +#: plugin/builtin/suppliers/lcsc.py:19 msgid "Supplier Integration - LCSC" msgstr "供應商集成 - LCSC" -#: plugin/builtin/suppliers/lcsc.py:19 +#: plugin/builtin/suppliers/lcsc.py:20 msgid "Provides support for scanning LCSC barcodes" msgstr "為掃描 LCSC 條形碼提供支持" -#: plugin/builtin/suppliers/lcsc.py:27 +#: plugin/builtin/suppliers/lcsc.py:28 msgid "The Supplier which acts as 'LCSC'" msgstr "作為“LCSC”的供應商。" -#: plugin/builtin/suppliers/mouser.py:16 +#: plugin/builtin/suppliers/mouser.py:17 msgid "Supplier Integration - Mouser" msgstr "供應商集成 - Mouser" -#: plugin/builtin/suppliers/mouser.py:17 +#: plugin/builtin/suppliers/mouser.py:18 msgid "Provides support for scanning Mouser barcodes" msgstr "為掃描 Mouser條形碼提供支持" -#: plugin/builtin/suppliers/mouser.py:25 +#: plugin/builtin/suppliers/mouser.py:26 msgid "The Supplier which acts as 'Mouser'" msgstr "作為“Mouser”的供應商。" -#: plugin/builtin/suppliers/tme.py:18 +#: plugin/builtin/suppliers/tme.py:19 msgid "Supplier Integration - TME" msgstr "供應商集成 - TME" -#: plugin/builtin/suppliers/tme.py:19 +#: plugin/builtin/suppliers/tme.py:20 msgid "Provides support for scanning TME barcodes" msgstr "為掃描 TME 條形碼提供支持" -#: plugin/builtin/suppliers/tme.py:27 +#: plugin/builtin/suppliers/tme.py:28 msgid "The Supplier which acts as 'TME'" msgstr "作為‘TME’的供應商" @@ -7160,21 +7257,21 @@ msgstr "插件" msgid "Method" msgstr "方法" -#: plugin/plugin.py:308 +#: plugin/plugin.py:309 msgid "No author found" msgstr "未找到作者" -#: plugin/registry.py:610 +#: plugin/registry.py:625 #, python-brace-format msgid "Plugin '{p}' is not compatible with the current InvenTree version {v}" msgstr "插件 '{p}' 與當前 InvenTree 版本{v} 不兼容" -#: plugin/registry.py:613 +#: plugin/registry.py:628 #, python-brace-format msgid "Plugin requires at least version {v}" msgstr "插件所需最低版本 {v}" -#: plugin/registry.py:615 +#: plugin/registry.py:630 #, python-brace-format msgid "Plugin requires at most version {v}" msgstr "插件所需最高版本 {v}" @@ -7203,11 +7300,11 @@ msgstr "數字化" msgid "A numerical setting" msgstr "數值設置" -#: plugin/samples/integration/sample.py:69 +#: plugin/samples/integration/sample.py:70 msgid "Choice Setting" msgstr "選擇設置" -#: plugin/samples/integration/sample.py:70 +#: plugin/samples/integration/sample.py:71 msgid "A setting with multiple choices" msgstr "帶有多個選項的設置" @@ -7355,43 +7452,43 @@ msgstr "收集插件" msgid "Collect plugins and add them to the registry" msgstr "收集插件並添加到註冊表中" -#: plugin/serializers.py:232 +#: plugin/serializers.py:233 msgid "Activate Plugin" msgstr "激活插件" -#: plugin/serializers.py:233 +#: plugin/serializers.py:234 msgid "Activate this plugin" msgstr "激活此插件" -#: plugin/serializers.py:253 +#: plugin/serializers.py:254 msgid "Delete configuration" msgstr "刪除配置" -#: plugin/serializers.py:254 +#: plugin/serializers.py:255 msgid "Delete the plugin configuration from the database" msgstr "從數據庫中刪除插件配置" -#: report/api.py:44 report/serializers.py:98 report/serializers.py:148 +#: report/api.py:43 report/serializers.py:103 report/serializers.py:153 msgid "Items" msgstr "項目" -#: report/api.py:121 +#: report/api.py:120 msgid "Plugin not found" msgstr "插件未找到" -#: report/api.py:123 +#: report/api.py:122 msgid "Plugin is not active" msgstr "插件未激活" -#: report/api.py:125 +#: report/api.py:124 msgid "Plugin does not support label printing" msgstr "插件不支持標籤打印" -#: report/api.py:173 +#: report/api.py:172 msgid "Invalid label dimensions" msgstr "無效的標籤尺寸" -#: report/api.py:188 report/api.py:267 +#: report/api.py:187 report/api.py:266 msgid "No valid items provided to template" msgstr "沒有有效的項目提供到模板" @@ -7415,132 +7512,140 @@ msgstr "字母" msgid "Template file with this name already exists" msgstr "已存在具有此名稱的模板" -#: report/models.py:204 +#: report/models.py:206 msgid "Template name" msgstr "模版名稱" -#: report/models.py:210 +#: report/models.py:212 msgid "Template description" msgstr "模板説明" -#: report/models.py:216 +#: report/models.py:218 msgid "Revision number (auto-increments)" msgstr "修訂編號 (自動增量)" -#: report/models.py:222 +#: report/models.py:224 msgid "Attach to Model on Print" msgstr "打印時附加到模型" -#: report/models.py:224 +#: report/models.py:226 msgid "Save report output as an attachment against linked model instance when printing" msgstr "打印時將報告輸出保存為附件與鏈接模型實例" -#: report/models.py:265 +#: report/models.py:270 msgid "Filename Pattern" msgstr "文件名樣式" -#: report/models.py:266 +#: report/models.py:271 msgid "Pattern for generating filenames" msgstr "生成文件名模式" -#: report/models.py:271 +#: report/models.py:276 msgid "Template is enabled" msgstr "模板已啓用" -#: report/models.py:278 +#: report/models.py:283 msgid "Target model type for template" msgstr "模版的目標模型類型" -#: report/models.py:298 +#: report/models.py:303 msgid "Filters" msgstr "篩選器" -#: report/models.py:299 +#: report/models.py:304 msgid "Template query filters (comma-separated list of key=value pairs)" msgstr "模版查詢篩選器 (逗號分隔的鍵值對列表)" -#: report/models.py:358 report/models.py:562 +#: report/models.py:363 report/models.py:629 msgid "Template file" msgstr "模板包文件" -#: report/models.py:366 +#: report/models.py:371 msgid "Page size for PDF reports" msgstr "PDF 報告的頁面大小" -#: report/models.py:372 +#: report/models.py:377 msgid "Render report in landscape orientation" msgstr "橫向渲染報告" -#: report/models.py:484 +#: report/models.py:382 +msgid "Merge" +msgstr "" + +#: report/models.py:383 +msgid "Render a single report against selected items" +msgstr "" + +#: report/models.py:438 #, python-brace-format msgid "Report generated from template {self.name}" msgstr "" -#: report/models.py:509 +#: report/models.py:576 msgid "Error generating report" msgstr "" -#: report/models.py:568 +#: report/models.py:635 msgid "Width [mm]" msgstr "寬度 [mm]" -#: report/models.py:569 +#: report/models.py:636 msgid "Label width, specified in mm" msgstr "標籤寬度,以毫米為單位。" -#: report/models.py:575 +#: report/models.py:642 msgid "Height [mm]" msgstr "高度 [mm]" -#: report/models.py:576 +#: report/models.py:643 msgid "Label height, specified in mm" msgstr "標籤高度,以毫米為單位。" -#: report/models.py:684 +#: report/models.py:748 msgid "Error printing labels" msgstr "" -#: report/models.py:703 +#: report/models.py:767 msgid "Snippet" msgstr "代碼片段" -#: report/models.py:704 +#: report/models.py:768 msgid "Report snippet file" msgstr "報告代碼片段文件" -#: report/models.py:711 +#: report/models.py:775 msgid "Snippet file description" msgstr "代碼片段文件描述" -#: report/models.py:729 +#: report/models.py:793 msgid "Asset" msgstr "資產" -#: report/models.py:730 +#: report/models.py:794 msgid "Report asset file" msgstr "報告資產文件" -#: report/models.py:737 +#: report/models.py:801 msgid "Asset file description" msgstr "資產文件描述" -#: report/serializers.py:91 +#: report/serializers.py:96 msgid "Select report template" msgstr "選擇報表模板" -#: report/serializers.py:99 report/serializers.py:149 +#: report/serializers.py:104 report/serializers.py:154 msgid "List of item primary keys to include in the report" msgstr "要包含在報告中的項目主鍵列表" -#: report/serializers.py:132 +#: report/serializers.py:137 msgid "Select label template" msgstr "選擇標籤模板" -#: report/serializers.py:140 +#: report/serializers.py:145 msgid "Printing Plugin" msgstr "打印插件" -#: report/serializers.py:141 +#: report/serializers.py:146 msgid "Select plugin to use for label printing" msgstr "選擇用於標籤打印的插件" @@ -7567,6 +7672,8 @@ msgstr "所需材料" #: report/templates/report/inventree_purchase_order_report.html:40 #: report/templates/report/inventree_sales_order_report.html:40 #: report/templates/report/inventree_sales_order_shipment_report.html:37 +#: report/templates/report/inventree_stock_report_merge.html:84 +#: report/templates/report/inventree_stock_report_merge.html:106 #: report/templates/report/inventree_test_report.html:84 #: report/templates/report/inventree_test_report.html:162 msgid "Part image" @@ -7602,6 +7709,7 @@ msgstr "總計" #: report/templates/report/inventree_return_order_report.html:25 #: report/templates/report/inventree_sales_order_shipment_report.html:45 +#: report/templates/report/inventree_stock_report_merge.html:88 #: report/templates/report/inventree_test_report.html:88 stock/models.py:1006 #: stock/serializers.py:163 msgid "Serial Number" @@ -7619,10 +7727,22 @@ msgstr "隊列" msgid "Stock location items" msgstr "庫存地點項目" +#: report/templates/report/inventree_stock_report_merge.html:21 #: report/templates/report/inventree_test_report.html:21 msgid "Stock Item Test Report" msgstr "庫存項測試報告" +#: report/templates/report/inventree_stock_report_merge.html:97 +#: report/templates/report/inventree_test_report.html:153 +#: stock/serializers.py:678 +msgid "Installed Items" +msgstr "已安裝的項目" + +#: report/templates/report/inventree_stock_report_merge.html:111 +#: report/templates/report/inventree_test_report.html:167 +msgid "Serial" +msgstr "系列" + #: report/templates/report/inventree_test_report.html:97 msgid "Test Results" msgstr "測試結果" @@ -7647,15 +7767,6 @@ msgstr "無結果 (必填)" msgid "No result" msgstr "沒有結果" -#: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:668 -msgid "Installed Items" -msgstr "已安裝的項目" - -#: report/templates/report/inventree_test_report.html:167 -msgid "Serial" -msgstr "系列" - #: report/templatetags/report.py:144 msgid "Asset file does not exist" msgstr "資產文件不存在" @@ -7672,123 +7783,123 @@ msgstr "parpart_image 標籤需要一個零件實例" msgid "company_image tag requires a Company instance" msgstr "公司_圖片標籤需要一個公司實例" -#: stock/api.py:255 +#: stock/api.py:270 msgid "Filter by location depth" msgstr "按位置深度篩選" -#: stock/api.py:275 +#: stock/api.py:290 msgid "Filter by top-level locations" msgstr "按頂級位置篩選" -#: stock/api.py:290 +#: stock/api.py:305 msgid "Include sub-locations in filtered results" msgstr "在篩選結果中包含子地點" -#: stock/api.py:311 stock/serializers.py:1256 +#: stock/api.py:326 stock/serializers.py:1268 msgid "Parent Location" msgstr "上級地點" -#: stock/api.py:312 +#: stock/api.py:327 msgid "Filter by parent location" msgstr "按上級位置篩選" -#: stock/api.py:554 +#: stock/api.py:569 msgid "Part name (case insensitive)" msgstr "" -#: stock/api.py:560 +#: stock/api.py:575 msgid "Part name contains (case insensitive)" msgstr "" -#: stock/api.py:566 +#: stock/api.py:581 msgid "Part name (regex)" msgstr "" -#: stock/api.py:571 +#: stock/api.py:586 msgid "Part IPN (case insensitive)" msgstr "" -#: stock/api.py:577 +#: stock/api.py:592 msgid "Part IPN contains (case insensitive)" msgstr "" -#: stock/api.py:583 +#: stock/api.py:598 msgid "Part IPN (regex)" msgstr "" -#: stock/api.py:595 +#: stock/api.py:610 msgid "Minimum stock" msgstr "" -#: stock/api.py:599 +#: stock/api.py:614 msgid "Maximum stock" msgstr "" -#: stock/api.py:602 +#: stock/api.py:617 msgid "Status Code" msgstr "狀態代碼" -#: stock/api.py:642 +#: stock/api.py:657 msgid "External Location" msgstr "外部地點" -#: stock/api.py:741 +#: stock/api.py:756 msgid "Consumed by Build Order" msgstr "" -#: stock/api.py:751 +#: stock/api.py:766 msgid "Installed in other stock item" msgstr "" -#: stock/api.py:840 +#: stock/api.py:855 msgid "Part Tree" msgstr "零件樹" -#: stock/api.py:862 +#: stock/api.py:877 msgid "Updated before" msgstr "" -#: stock/api.py:866 +#: stock/api.py:881 msgid "Updated after" msgstr "" -#: stock/api.py:870 +#: stock/api.py:885 msgid "Stocktake Before" msgstr "" -#: stock/api.py:874 +#: stock/api.py:889 msgid "Stocktake After" msgstr "" -#: stock/api.py:879 +#: stock/api.py:894 msgid "Expiry date before" msgstr "過期日期前" -#: stock/api.py:883 +#: stock/api.py:898 msgid "Expiry date after" msgstr "過期日期後" -#: stock/api.py:886 stock/serializers.py:673 +#: stock/api.py:901 stock/serializers.py:683 msgid "Stale" msgstr "過期" -#: stock/api.py:987 +#: stock/api.py:1002 msgid "Quantity is required" msgstr "請先輸入數量" -#: stock/api.py:992 +#: stock/api.py:1007 msgid "Valid part must be supplied" msgstr "必須提供有效的零件" -#: stock/api.py:1019 +#: stock/api.py:1038 msgid "The given supplier part does not exist" msgstr "給定的供應商零件不存在" -#: stock/api.py:1029 +#: stock/api.py:1048 msgid "The supplier part has a pack size defined, but flag use_pack_size not set" msgstr "供應商零件有定義的包裝大小,但 use_pack_size 標誌未設置" -#: stock/api.py:1056 +#: stock/api.py:1080 msgid "Serial numbers cannot be supplied for a non-trackable part" msgstr "不能為不可跟蹤的零件提供序列號" @@ -7897,7 +8008,7 @@ msgstr "為此庫存項目選擇匹配的供應商零件" msgid "Where is this stock item located?" msgstr "這個庫存物品在哪裏?" -#: stock/models.py:980 stock/serializers.py:1667 +#: stock/models.py:980 stock/serializers.py:1679 msgid "Packaging this stock item is stored in" msgstr "包裝此庫存物品存儲在" @@ -7913,7 +8024,7 @@ msgstr "此項目是否安裝在另一個項目中?" msgid "Serial number for this item" msgstr "此項目的序列號" -#: stock/models.py:1027 stock/serializers.py:1652 +#: stock/models.py:1027 stock/serializers.py:1664 msgid "Batch code for this stock item" msgstr "此庫存項的批號" @@ -7969,136 +8080,136 @@ msgstr "購買時一個單位的價格" msgid "Converted to part" msgstr "轉換為零件" -#: stock/models.py:1721 +#: stock/models.py:1732 msgid "Part is not set as trackable" msgstr "零件未設置為可跟蹤" -#: stock/models.py:1727 +#: stock/models.py:1738 msgid "Quantity must be integer" msgstr "數量必須是整數" -#: stock/models.py:1735 +#: stock/models.py:1746 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({self.quantity})" msgstr "數量不得超過現有庫存量 ({self.quantity})" -#: stock/models.py:1741 +#: stock/models.py:1752 msgid "Serial numbers must be provided as a list" msgstr "" -#: stock/models.py:1746 +#: stock/models.py:1757 msgid "Quantity does not match serial numbers" msgstr "數量不匹配序列號" -#: stock/models.py:1868 stock/models.py:2777 +#: stock/models.py:1881 stock/models.py:2790 msgid "Test template does not exist" msgstr "測試模板不存在" -#: stock/models.py:1886 +#: stock/models.py:1899 msgid "Stock item has been assigned to a sales order" msgstr "庫存項已分配到銷售訂單" -#: stock/models.py:1890 +#: stock/models.py:1903 msgid "Stock item is installed in another item" msgstr "庫存項已安裝在另一個項目中" -#: stock/models.py:1893 +#: stock/models.py:1906 msgid "Stock item contains other items" msgstr "庫存項包含其他項目" -#: stock/models.py:1896 +#: stock/models.py:1909 msgid "Stock item has been assigned to a customer" msgstr "庫存項已分配給客户" -#: stock/models.py:1899 stock/models.py:2073 +#: stock/models.py:1912 stock/models.py:2086 msgid "Stock item is currently in production" msgstr "庫存項目前正在生產" -#: stock/models.py:1902 +#: stock/models.py:1915 msgid "Serialized stock cannot be merged" msgstr "序列化的庫存不能合併" -#: stock/models.py:1909 stock/serializers.py:1545 +#: stock/models.py:1922 stock/serializers.py:1557 msgid "Duplicate stock items" msgstr "複製庫存項" -#: stock/models.py:1913 +#: stock/models.py:1926 msgid "Stock items must refer to the same part" msgstr "庫存項必須指相同零件" -#: stock/models.py:1921 +#: stock/models.py:1934 msgid "Stock items must refer to the same supplier part" msgstr "庫存項必須是同一供應商的零件" -#: stock/models.py:1926 +#: stock/models.py:1939 msgid "Stock status codes must match" msgstr "庫存狀態碼必須匹配" -#: stock/models.py:2196 +#: stock/models.py:2209 msgid "StockItem cannot be moved as it is not in stock" msgstr "庫存項不能移動,因為它沒有庫存" -#: stock/models.py:2678 +#: stock/models.py:2691 msgid "Stock Item Tracking" msgstr "庫存項跟蹤" -#: stock/models.py:2709 +#: stock/models.py:2722 msgid "Entry notes" msgstr "條目註釋" -#: stock/models.py:2749 +#: stock/models.py:2762 msgid "Stock Item Test Result" msgstr "庫存項測試結果" -#: stock/models.py:2780 +#: stock/models.py:2793 msgid "Value must be provided for this test" msgstr "必須為此測試提供值" -#: stock/models.py:2784 +#: stock/models.py:2797 msgid "Attachment must be uploaded for this test" msgstr "測試附件必須上傳" -#: stock/models.py:2789 +#: stock/models.py:2802 msgid "Invalid value for this test" msgstr "此測試的值無效" -#: stock/models.py:2813 +#: stock/models.py:2826 msgid "Test result" msgstr "測試結果" -#: stock/models.py:2820 +#: stock/models.py:2833 msgid "Test output value" msgstr "測試輸出值" -#: stock/models.py:2828 stock/serializers.py:259 +#: stock/models.py:2841 stock/serializers.py:259 msgid "Test result attachment" msgstr "測驗結果附件" -#: stock/models.py:2832 +#: stock/models.py:2845 msgid "Test notes" msgstr "測試備註" -#: stock/models.py:2840 +#: stock/models.py:2853 msgid "Test station" msgstr "測試站" -#: stock/models.py:2841 +#: stock/models.py:2854 msgid "The identifier of the test station where the test was performed" msgstr "進行測試的測試站的標識符" -#: stock/models.py:2847 +#: stock/models.py:2860 msgid "Started" msgstr "已開始" -#: stock/models.py:2848 +#: stock/models.py:2861 msgid "The timestamp of the test start" msgstr "測試開始的時間戳" -#: stock/models.py:2854 +#: stock/models.py:2867 msgid "Finished" msgstr "已完成" -#: stock/models.py:2855 +#: stock/models.py:2868 msgid "The timestamp of the test finish" msgstr "測試結束的時間戳" @@ -8170,201 +8281,201 @@ msgstr "父庫存項" msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "添加時使用包裝尺寸:定義的數量是包裝的數量" -#: stock/serializers.py:618 +#: stock/serializers.py:628 msgid "Supplier Part Number" msgstr "供應商零件編號" -#: stock/serializers.py:665 users/models.py:193 +#: stock/serializers.py:675 users/models.py:193 msgid "Expired" msgstr "已過期" -#: stock/serializers.py:671 +#: stock/serializers.py:681 msgid "Child Items" msgstr "子項目" -#: stock/serializers.py:675 +#: stock/serializers.py:685 msgid "Tracking Items" msgstr "跟蹤項目" -#: stock/serializers.py:681 +#: stock/serializers.py:691 msgid "Purchase price of this stock item, per unit or pack" msgstr "此庫存商品的購買價格,單位或包裝" -#: stock/serializers.py:719 +#: stock/serializers.py:729 msgid "Enter number of stock items to serialize" msgstr "輸入要序列化的庫存項目數量" -#: stock/serializers.py:732 +#: stock/serializers.py:742 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "數量不得超過現有庫存量 ({q})" -#: stock/serializers.py:739 +#: stock/serializers.py:749 msgid "Enter serial numbers for new items" msgstr "輸入新項目的序列號" -#: stock/serializers.py:750 stock/serializers.py:1502 stock/serializers.py:1790 +#: stock/serializers.py:760 stock/serializers.py:1514 stock/serializers.py:1802 msgid "Destination stock location" msgstr "目標庫存位置" -#: stock/serializers.py:757 +#: stock/serializers.py:767 msgid "Optional note field" msgstr "可選註釋字段" -#: stock/serializers.py:767 +#: stock/serializers.py:777 msgid "Serial numbers cannot be assigned to this part" msgstr "此零件不能分配序列號" -#: stock/serializers.py:787 +#: stock/serializers.py:797 msgid "Serial numbers already exist" msgstr "序列號已存在" -#: stock/serializers.py:826 +#: stock/serializers.py:843 msgid "Select stock item to install" msgstr "選擇要安裝的庫存項目" -#: stock/serializers.py:833 +#: stock/serializers.py:850 msgid "Quantity to Install" msgstr "安裝數量" -#: stock/serializers.py:834 +#: stock/serializers.py:851 msgid "Enter the quantity of items to install" msgstr "輸入要安裝的項目數量" -#: stock/serializers.py:839 stock/serializers.py:919 stock/serializers.py:1049 -#: stock/serializers.py:1101 +#: stock/serializers.py:856 stock/serializers.py:936 stock/serializers.py:1066 +#: stock/serializers.py:1118 msgid "Add transaction note (optional)" msgstr "添加交易記錄 (可選)" -#: stock/serializers.py:847 +#: stock/serializers.py:864 msgid "Quantity to install must be at least 1" msgstr "安裝數量必須至少為1" -#: stock/serializers.py:855 +#: stock/serializers.py:872 msgid "Stock item is unavailable" msgstr "庫存項不可用" -#: stock/serializers.py:866 +#: stock/serializers.py:883 msgid "Selected part is not in the Bill of Materials" msgstr "所選零件不在物料清單中" -#: stock/serializers.py:879 +#: stock/serializers.py:896 msgid "Quantity to install must not exceed available quantity" msgstr "安裝數量不得超過可用數量" -#: stock/serializers.py:914 +#: stock/serializers.py:931 msgid "Destination location for uninstalled item" msgstr "已卸載項目的目標位置" -#: stock/serializers.py:949 +#: stock/serializers.py:966 msgid "Select part to convert stock item into" msgstr "選擇要將庫存項目轉換為的零件" -#: stock/serializers.py:962 +#: stock/serializers.py:979 msgid "Selected part is not a valid option for conversion" msgstr "所選零件不是有效的轉換選項" -#: stock/serializers.py:979 +#: stock/serializers.py:996 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "無法轉換已分配供應商零件的庫存項" -#: stock/serializers.py:1013 +#: stock/serializers.py:1030 msgid "Stock item status code" msgstr "庫存項狀態代碼" -#: stock/serializers.py:1042 +#: stock/serializers.py:1059 msgid "Destination location for returned item" msgstr "退回物品的目的地位置" -#: stock/serializers.py:1085 +#: stock/serializers.py:1102 msgid "Select stock items to change status" msgstr "選擇要更改狀態的庫存項目" -#: stock/serializers.py:1091 +#: stock/serializers.py:1108 msgid "No stock items selected" msgstr "未選擇庫存商品" -#: stock/serializers.py:1185 stock/serializers.py:1262 +#: stock/serializers.py:1197 stock/serializers.py:1274 msgid "Sublocations" msgstr "轉租" -#: stock/serializers.py:1257 +#: stock/serializers.py:1269 msgid "Parent stock location" msgstr "上級庫存地點" -#: stock/serializers.py:1374 +#: stock/serializers.py:1386 msgid "Part must be salable" msgstr "零件必須可銷售" -#: stock/serializers.py:1378 +#: stock/serializers.py:1390 msgid "Item is allocated to a sales order" msgstr "物料已分配到銷售訂單" -#: stock/serializers.py:1382 +#: stock/serializers.py:1394 msgid "Item is allocated to a build order" msgstr "項目被分配到生產訂單中" -#: stock/serializers.py:1406 +#: stock/serializers.py:1418 msgid "Customer to assign stock items" msgstr "客户分配庫存項目" -#: stock/serializers.py:1412 +#: stock/serializers.py:1424 msgid "Selected company is not a customer" msgstr "所選公司不是客户" -#: stock/serializers.py:1420 +#: stock/serializers.py:1432 msgid "Stock assignment notes" msgstr "庫存分配説明" -#: stock/serializers.py:1430 stock/serializers.py:1695 +#: stock/serializers.py:1442 stock/serializers.py:1707 msgid "A list of stock items must be provided" msgstr "必須提供庫存物品清單" -#: stock/serializers.py:1509 +#: stock/serializers.py:1521 msgid "Stock merging notes" msgstr "庫存合併説明" -#: stock/serializers.py:1514 +#: stock/serializers.py:1526 msgid "Allow mismatched suppliers" msgstr "允許不匹配的供應商" -#: stock/serializers.py:1515 +#: stock/serializers.py:1527 msgid "Allow stock items with different supplier parts to be merged" msgstr "允許合併具有不同供應商零件的庫存項目" -#: stock/serializers.py:1520 +#: stock/serializers.py:1532 msgid "Allow mismatched status" msgstr "允許不匹配的狀態" -#: stock/serializers.py:1521 +#: stock/serializers.py:1533 msgid "Allow stock items with different status codes to be merged" msgstr "允許合併具有不同狀態代碼的庫存項目" -#: stock/serializers.py:1531 +#: stock/serializers.py:1543 msgid "At least two stock items must be provided" msgstr "必須提供至少兩件庫存物品" -#: stock/serializers.py:1598 +#: stock/serializers.py:1610 msgid "No Change" msgstr "無更改" -#: stock/serializers.py:1627 +#: stock/serializers.py:1639 msgid "StockItem primary key value" msgstr "庫存項主鍵值" -#: stock/serializers.py:1639 +#: stock/serializers.py:1651 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1685 +#: stock/serializers.py:1697 msgid "Stock transaction notes" msgstr "庫存交易記錄" -#: stock/serializers.py:1831 +#: stock/serializers.py:1843 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1849 msgid "Previous Serial Number" msgstr "" diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index 861cefa72c..78e0360164 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: 2025-06-19 11:46\n" +"PO-Revision-Date: 2025-06-24 11:05\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index 18d579dcd3..f2d94c6d65 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: 2025-06-07 05:57\n" +"PO-Revision-Date: 2025-06-25 14:47\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index 4ac0c997c9..3b34ec9256 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: 2025-05-07 06:53\n" +"PO-Revision-Date: 2025-06-24 09:05\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index ebab050501..e65327a8d6 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: 2025-06-18 23:18\n" +"PO-Revision-Date: 2025-06-25 07:39\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" @@ -4211,7 +4211,7 @@ msgstr "Переместить" #: src/tables/purchasing/SupplierPartTable.tsx:208 #: src/tables/stock/StockItemTable.tsx:342 msgid "In Stock" -msgstr "В наличии" +msgstr "На складе" #: src/forms/StockForms.tsx:824 #: src/pages/Index/Scan.tsx:182 @@ -4326,30 +4326,30 @@ msgstr "" #: src/functions/api.tsx:33 #: src/tables/InvenTreeTable.tsx:491 msgid "Bad request" -msgstr "" +msgstr "Некорректный запрос" #: src/functions/api.tsx:36 #: src/tables/InvenTreeTable.tsx:494 msgid "Unauthorized" -msgstr "" +msgstr "Не авторизован" #: src/functions/api.tsx:39 #: src/tables/InvenTreeTable.tsx:497 msgid "Forbidden" -msgstr "" +msgstr "Запрещено" #: src/functions/api.tsx:42 #: src/tables/InvenTreeTable.tsx:500 msgid "Not found" -msgstr "" +msgstr "Не найдено" #: src/functions/api.tsx:45 msgid "Method not allowed" -msgstr "" +msgstr "Метод не поддерживается" #: src/functions/api.tsx:48 msgid "Internal server error" -msgstr "" +msgstr "Внутренняя ошибка сервера" #: src/functions/auth.tsx:34 #~ msgid "Error fetching token from server." @@ -4399,7 +4399,7 @@ msgstr "Успешный выход из системы" #: src/functions/auth.tsx:189 msgid "Language changed" -msgstr "" +msgstr "Язык изменён" #: src/functions/auth.tsx:190 msgid "Your active language has been changed to the one set in your profile" @@ -4407,7 +4407,7 @@ msgstr "" #: src/functions/auth.tsx:210 msgid "Theme changed" -msgstr "" +msgstr "Тема изменена" #: src/functions/auth.tsx:211 msgid "Your active theme has been changed to the one set in your profile" @@ -4497,7 +4497,7 @@ msgstr "Сервер вернул статус {returnCode}" #: src/functions/notifications.tsx:48 msgid "Timeout" -msgstr "" +msgstr "Таймаут" #: src/functions/notifications.tsx:49 msgid "The request timed out" @@ -5523,7 +5523,7 @@ msgstr "Курсы валют" #: src/pages/Index/Settings/AdminCenter/Index.tsx:161 msgid "Custom States" -msgstr "Пользовательские статусы" +msgstr "Пользовательские состояния" #: src/pages/Index/Settings/AdminCenter/Index.tsx:167 #: src/pages/Index/Settings/AdminCenter/UnitManagementPanel.tsx:57 @@ -5541,7 +5541,7 @@ msgstr "Параметры деталей" #: src/pages/Index/Settings/AdminCenter/Index.tsx:180 msgid "Category Parameters" -msgstr "" +msgstr "Параметры категории" #: src/pages/Index/Settings/AdminCenter/Index.tsx:206 msgid "Location Types" @@ -5579,7 +5579,7 @@ msgstr "Расширенные настройки" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:56 msgid "Machine Types" -msgstr "" +msgstr "Типы оборудования" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:62 #~ msgid "There are no machine registry errors." @@ -5587,23 +5587,23 @@ msgstr "" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:64 msgid "Machine Errors" -msgstr "" +msgstr "Ошибки оборудования" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:77 msgid "Registry Registry Errors" -msgstr "" +msgstr "Ошибки реестра" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:80 msgid "There are machine registry errors" -msgstr "" +msgstr "Есть ошибки реестра оборудования" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:86 msgid "Machine Registry Errors" -msgstr "" +msgstr "Ошибки реестра оборудования" #: src/pages/Index/Settings/AdminCenter/MachineManagementPanel.tsx:89 msgid "There are no machine registry errors" -msgstr "" +msgstr "Нет ошибок реестра оборудования" #: src/pages/Index/Settings/AdminCenter/PluginManagementPanel.tsx:32 #: src/tables/settings/UserTable.tsx:184 @@ -5632,7 +5632,7 @@ msgstr "Ошибки плагинов" #: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:16 msgid "Page Size" -msgstr "" +msgstr "Размер страницы" #: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:19 msgid "Landscape" @@ -5640,7 +5640,7 @@ msgstr "Альбомный" #: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:25 msgid "Attach to Model" -msgstr "" +msgstr "Прикрепить к модели" #: src/pages/Index/Settings/AdminCenter/ReportTemplatePanel.tsx:55 #~ msgid "Generated Reports" @@ -5764,7 +5764,7 @@ msgstr "Метки" #: src/pages/Index/Settings/SystemSettings.tsx:169 #: src/pages/Index/Settings/UserSettings.tsx:105 msgid "Reporting" -msgstr "Отчеты" +msgstr "Отчёты" #: src/pages/Index/Settings/SystemSettings.tsx:317 #~ msgid "Switch to User Setting" @@ -6503,7 +6503,7 @@ msgstr "" #: src/pages/part/CategoryDetail.tsx:241 #: src/tables/part/PartCategoryTable.tsx:142 msgid "Category Actions" -msgstr "" +msgstr "Действия с категорией" #: src/pages/part/CategoryDetail.tsx:262 msgid "Category Details" @@ -6523,7 +6523,7 @@ msgstr "Резервирование в заказах на продажу" #: src/pages/part/PartDetail.tsx:185 msgid "Variant of" -msgstr "Вариант" +msgstr "Разновидность детали" #: src/pages/part/PartDetail.tsx:192 msgid "Revision of" @@ -6547,7 +6547,7 @@ msgstr "" #: src/pages/part/PartDetail.tsx:226 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:44 msgid "Units" -msgstr "Ед. изм" +msgstr "Единица измерения" #: src/pages/part/PartDetail.tsx:233 #: src/tables/settings/PendingTasksTable.tsx:46 @@ -6560,7 +6560,7 @@ msgstr "Ключевые слова" #: src/tables/part/PartTable.tsx:297 #: src/tables/sales/SalesOrderLineItemTable.tsx:128 msgid "Available Stock" -msgstr "" +msgstr "Доступно" #: src/pages/part/PartDetail.tsx:265 msgid "Variant Stock" @@ -6575,11 +6575,11 @@ msgstr "Минимальный запас" #: src/tables/build/BuildLineTable.tsx:255 #: src/tables/sales/SalesOrderLineItemTable.tsx:166 msgid "On order" -msgstr "" +msgstr "В заказе" #: src/pages/part/PartDetail.tsx:286 msgid "Required for Orders" -msgstr "Для заказов требуется" +msgstr "Требуется для заказов" #: src/pages/part/PartDetail.tsx:295 msgid "Allocated to Build Orders" @@ -6691,7 +6691,7 @@ msgstr "Последний серийный номер" #: src/pages/part/PartDetail.tsx:516 msgid "Variants" -msgstr "" +msgstr "Разновидности" #: src/pages/part/PartDetail.tsx:523 #: src/pages/stock/StockDetail.tsx:450 @@ -7064,7 +7064,7 @@ msgstr "Нет данных" #: src/pages/part/pricing/PricingPanel.tsx:65 msgid "No Data" -msgstr "" +msgstr "Нет данных" #: src/pages/part/pricing/PricingPanel.tsx:66 msgid "No pricing data available" @@ -7289,7 +7289,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetail.tsx:442 msgid "Order shipped" -msgstr "" +msgstr "Заказ отгружен" #: src/pages/sales/SalesOrderDetail.tsx:450 msgid "Complete Sales Order" @@ -7297,7 +7297,7 @@ msgstr "" #: src/pages/sales/SalesOrderDetail.tsx:489 msgid "Ship Order" -msgstr "" +msgstr "Отгрузить заказ" #: src/pages/sales/SalesOrderShipmentDetail.tsx:121 #: src/tables/sales/SalesOrderShipmentTable.tsx:94 @@ -7321,12 +7321,12 @@ msgstr "Номер счета" #: src/tables/sales/SalesOrderAllocationTable.tsx:181 #: src/tables/sales/SalesOrderShipmentTable.tsx:113 msgid "Shipment Date" -msgstr "" +msgstr "Дата отгрузки" #: src/pages/sales/SalesOrderShipmentDetail.tsx:161 #: src/tables/sales/SalesOrderShipmentTable.tsx:117 msgid "Delivery Date" -msgstr "" +msgstr "Дата доставки" #: src/pages/sales/SalesOrderShipmentDetail.tsx:206 msgid "Shipment Details" @@ -7357,7 +7357,7 @@ msgstr "" #: src/pages/sales/SalesOrderShipmentDetail.tsx:281 #: src/tables/part/PartPurchaseOrdersTable.tsx:121 msgid "Pending" -msgstr "" +msgstr "В обработке" #: src/pages/sales/SalesOrderShipmentDetail.tsx:287 #: src/tables/sales/SalesOrderShipmentTable.tsx:106 @@ -7482,7 +7482,7 @@ msgstr "" #: src/pages/stock/StockDetail.tsx:249 msgid "Parent Item" -msgstr "" +msgstr "Родительский элемент" #: src/pages/stock/StockDetail.tsx:253 msgid "Parent stock item" @@ -7611,7 +7611,7 @@ msgstr "Просрочен" #: src/pages/stock/StockDetail.tsx:885 msgid "Unavailable" -msgstr "" +msgstr "Недоступно" #: src/states/IconState.tsx:47 #: src/states/IconState.tsx:77 @@ -7631,11 +7631,11 @@ msgstr "Часть не активна" #: src/tables/part/PartParameterTable.tsx:193 #: src/tables/part/PartTestTemplateTable.tsx:258 msgid "Part is Locked" -msgstr "" +msgstr "Деталь заблокирована" #: src/tables/ColumnRenderers.tsx:47 msgid "You are subscribed to notifications for this part" -msgstr "" +msgstr "Вы подписаны на получение уведомлений для этой детали" #: src/tables/ColumnRenderers.tsx:72 msgid "No location set" @@ -7812,11 +7812,11 @@ msgstr "Фильтр по пользователю, который создал #: src/tables/Filter.tsx:335 msgid "Filter by user who issued the order" -msgstr "" +msgstr "Фильтр по пользователю, создавшему заказ" #: src/tables/Filter.tsx:343 msgid "Filter by part category" -msgstr "" +msgstr "Фильтр по категории" #: src/tables/FilterSelectDrawer.tsx:58 msgid "Remove filter" @@ -7865,11 +7865,11 @@ msgstr "Записи не найдены" #: src/tables/InvenTreeTable.tsx:218 msgid "Failed to load table options" -msgstr "" +msgstr "Не удалось загрузить параметры таблицы" #: src/tables/InvenTreeTable.tsx:483 msgid "Server returned incorrect data type" -msgstr "" +msgstr "Сервер вернул неверный тип данных" #: src/tables/InvenTreeTable.tsx:510 #~ msgid "Are you sure you want to delete the selected records?" @@ -7957,7 +7957,7 @@ msgstr "Обновить данные" #: src/tables/bom/BomTable.tsx:97 msgid "This BOM item is defined for a different parent" -msgstr "" +msgstr "Эта позиция в спецификации унаследована от родительской детали" #: src/tables/bom/BomTable.tsx:112 msgid "Part Information" @@ -8021,16 +8021,16 @@ msgstr "" #: src/tables/bom/BomTable.tsx:321 #: src/tables/build/BuildLineTable.tsx:202 msgid "Show assembled items" -msgstr "" +msgstr "Показать сборные детали" #: src/tables/bom/BomTable.tsx:326 #: src/tables/build/BuildLineTable.tsx:187 msgid "Show items with available stock" -msgstr "" +msgstr "Показать элементы, которые есть в наличии на складе" #: src/tables/bom/BomTable.tsx:331 msgid "Show items on order" -msgstr "" +msgstr "Показать элементы, которые находятся в заказе" #: src/tables/bom/BomTable.tsx:331 #~ msgid "Edit Bom Item" @@ -8042,29 +8042,29 @@ msgstr "" #: src/tables/bom/BomTable.tsx:335 msgid "Validated" -msgstr "" +msgstr "Утверждено" #: src/tables/bom/BomTable.tsx:336 msgid "Show validated items" -msgstr "" +msgstr "Показать утверждённые элементы" #: src/tables/bom/BomTable.tsx:340 #: src/tables/bom/UsedInTable.tsx:75 msgid "Inherited" -msgstr "" +msgstr "Унаследовано" #: src/tables/bom/BomTable.tsx:341 #: src/tables/bom/UsedInTable.tsx:76 msgid "Show inherited items" -msgstr "" +msgstr "Показать элементы, которые унаследованы" #: src/tables/bom/BomTable.tsx:345 msgid "Allow Variants" -msgstr "" +msgstr "Есть варианты" #: src/tables/bom/BomTable.tsx:346 msgid "Show items which allow variant substitution" -msgstr "" +msgstr "Показать элементы, в которых есть варианты замены" #: src/tables/bom/BomTable.tsx:348 #~ msgid "Delete Bom Item" @@ -8078,12 +8078,12 @@ msgstr "" #: src/tables/bom/UsedInTable.tsx:80 #: src/tables/build/BuildLineTable.tsx:196 msgid "Optional" -msgstr "" +msgstr "Необязательно" #: src/tables/bom/BomTable.tsx:351 #: src/tables/bom/UsedInTable.tsx:81 msgid "Show optional items" -msgstr "" +msgstr "Показать необязательные элементы" #: src/tables/bom/BomTable.tsx:351 #~ msgid "Are you sure you want to remove this BOM item?" @@ -8096,20 +8096,20 @@ msgstr "" #: src/tables/bom/BomTable.tsx:355 #: src/tables/build/BuildLineTable.tsx:191 msgid "Consumable" -msgstr "" +msgstr "Расходник" #: src/tables/bom/BomTable.tsx:356 msgid "Show consumable items" -msgstr "" +msgstr "Показать элементы, которые являются расходниками" #: src/tables/bom/BomTable.tsx:360 #: src/tables/part/PartTable.tsx:291 msgid "Has Pricing" -msgstr "" +msgstr "Есть цена" #: src/tables/bom/BomTable.tsx:361 msgid "Show items with pricing" -msgstr "" +msgstr "Показать позиции с ценой" #: src/tables/bom/BomTable.tsx:383 #: src/tables/bom/BomTable.tsx:519 @@ -8119,65 +8119,65 @@ msgstr "Импортировать данные спецификации" #: src/tables/bom/BomTable.tsx:393 #: src/tables/bom/BomTable.tsx:533 msgid "Add BOM Item" -msgstr "Добавить элемент спецификации" +msgstr "Создать позицию в спецификацию" #: src/tables/bom/BomTable.tsx:398 msgid "BOM item created" -msgstr "" +msgstr "Создана позиция в спецификации" #: src/tables/bom/BomTable.tsx:405 msgid "Edit BOM Item" -msgstr "" +msgstr "Редактировать позицию спецификации" #: src/tables/bom/BomTable.tsx:407 msgid "BOM item updated" -msgstr "" +msgstr "Позиция в спецификации обновлена" #: src/tables/bom/BomTable.tsx:414 msgid "Delete BOM Item" -msgstr "" +msgstr "Удалить позицию в спецификации" #: src/tables/bom/BomTable.tsx:415 msgid "BOM item deleted" -msgstr "" +msgstr "Позиция в спецификации удалена" #: src/tables/bom/BomTable.tsx:428 #: src/tables/bom/BomTable.tsx:431 #: src/tables/bom/BomTable.tsx:526 msgid "Validate BOM" -msgstr "" +msgstr "Утвердить спецификацию" #: src/tables/bom/BomTable.tsx:432 msgid "Do you want to validate the bill of materials for this assembly?" -msgstr "" +msgstr "Вы хотите утвердить спецификацию для данной сборочной детали?" #: src/tables/bom/BomTable.tsx:435 msgid "BOM validated" -msgstr "" +msgstr "Спецификация утверждена" #: src/tables/bom/BomTable.tsx:447 msgid "BOM item validated" -msgstr "" +msgstr "Позиция в спецификации утверждена" #: src/tables/bom/BomTable.tsx:456 msgid "Failed to validate BOM item" -msgstr "" +msgstr "При утверждении позиции в спецификации произошла ошибка" #: src/tables/bom/BomTable.tsx:468 msgid "View BOM" -msgstr "" +msgstr "Показать спецификацию" #: src/tables/bom/BomTable.tsx:479 msgid "Validate BOM Line" -msgstr "" +msgstr "Утвердить позицию в спецификации" #: src/tables/bom/BomTable.tsx:496 msgid "Edit Substitutes" -msgstr "" +msgstr "Редактировать варианты замены" #: src/tables/bom/BomTable.tsx:554 msgid "Bill of materials cannot be edited, as the part is locked" -msgstr "" +msgstr "Невозможно отредактировать спецификацию, поскольку деталь заблокирована" #: src/tables/bom/UsedInTable.tsx:33 #: src/tables/build/BuildLineTable.tsx:201 @@ -8688,7 +8688,7 @@ msgstr "" #: src/tables/settings/BarcodeScanHistoryTable.tsx:74 #: src/tables/settings/ErrorTable.tsx:59 msgid "Timestamp" -msgstr "" +msgstr "Метка времени" #: src/tables/general/BarcodeScanTable.tsx:75 msgid "View Item" @@ -8830,11 +8830,11 @@ msgstr "Драйвер" #: src/tables/machine/MachineTypeTable.tsx:79 msgid "Builtin driver" -msgstr "" +msgstr "Встроенный драйвер" #: src/tables/machine/MachineTypeTable.tsx:97 msgid "Not Found" -msgstr "" +msgstr "Не найдено" #: src/tables/machine/MachineTypeTable.tsx:99 #~ msgid "Machine type information" @@ -8842,26 +8842,26 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:100 msgid "Machine type not found." -msgstr "" +msgstr "Тип оборудования не найден." #: src/tables/machine/MachineTypeTable.tsx:110 msgid "Machine Type Information" -msgstr "" +msgstr "Информация о типе оборудования" #: src/tables/machine/MachineTypeTable.tsx:125 #: src/tables/machine/MachineTypeTable.tsx:239 msgid "Slug" -msgstr "" +msgstr "Часть URL-адреса" #: src/tables/machine/MachineTypeTable.tsx:136 #: src/tables/machine/MachineTypeTable.tsx:260 msgid "Provider plugin" -msgstr "" +msgstr "Плагин поставщика" #: src/tables/machine/MachineTypeTable.tsx:148 #: src/tables/machine/MachineTypeTable.tsx:272 msgid "Provider file" -msgstr "" +msgstr "Файл поставщика" #: src/tables/machine/MachineTypeTable.tsx:148 #~ msgid "Available drivers" @@ -8869,19 +8869,19 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:163 msgid "Available Drivers" -msgstr "" +msgstr "Доступные драйверы" #: src/tables/machine/MachineTypeTable.tsx:218 msgid "Machine driver not found." -msgstr "" +msgstr "Драйвер оборудования не найден." #: src/tables/machine/MachineTypeTable.tsx:226 msgid "Machine driver information" -msgstr "" +msgstr "Информация о драйвере оборудования" #: src/tables/machine/MachineTypeTable.tsx:246 msgid "Machine type" -msgstr "" +msgstr "Тип оборудования" #: src/tables/machine/MachineTypeTable.tsx:338 #~ msgid "Machine type detail" @@ -8893,15 +8893,15 @@ msgstr "" #: src/tables/machine/MachineTypeTable.tsx:349 msgid "Builtin type" -msgstr "" +msgstr "Встроенный тип" #: src/tables/machine/MachineTypeTable.tsx:358 msgid "Machine Type Detail" -msgstr "" +msgstr "Сведения о типе оборудования" #: src/tables/machine/MachineTypeTable.tsx:368 msgid "Machine Driver Detail" -msgstr "" +msgstr "Сведения о драйвере оборудования" #: src/tables/notifications/NotificationTable.tsx:26 msgid "Age" @@ -8915,7 +8915,7 @@ msgstr "Уведомление" #: src/tables/plugin/PluginErrorTable.tsx:37 #: src/tables/settings/ErrorTable.tsx:50 msgid "Message" -msgstr "" +msgstr "Сообщение" #: src/tables/part/ParametricPartTable.tsx:74 msgid "Click to edit" @@ -8958,7 +8958,7 @@ msgstr "" #: src/tables/part/PartCategoryTable.tsx:51 msgid "You are subscribed to notifications for this category" -msgstr "" +msgstr "Вы подписаны на получение уведомлений для этой категории" #: src/tables/part/PartCategoryTable.tsx:83 #: src/tables/part/PartTable.tsx:199 @@ -8971,32 +8971,32 @@ msgstr "Включить подкатегории в результаты" #: src/tables/part/PartCategoryTable.tsx:89 msgid "Show structural categories" -msgstr "" +msgstr "Показать категории, которые являются структурами" #: src/tables/part/PartCategoryTable.tsx:94 msgid "Show categories to which the user is subscribed" -msgstr "" +msgstr "Показать категории, на которые пользователь подписан" #: src/tables/part/PartCategoryTable.tsx:103 msgid "New Part Category" -msgstr "" +msgstr "Создать категорию деталей" #: src/tables/part/PartCategoryTable.tsx:129 msgid "Set Parent Category" -msgstr "" +msgstr "Задать родительскую категорию" #: src/tables/part/PartCategoryTable.tsx:147 #: src/tables/stock/StockLocationTable.tsx:145 msgid "Set Parent" -msgstr "Задать вышестоящий склад" +msgstr "Установить родителя" #: src/tables/part/PartCategoryTable.tsx:149 msgid "Set parent category for the selected items" -msgstr "" +msgstr "Задать родительскую категорию для выбранных элементов" #: src/tables/part/PartCategoryTable.tsx:160 msgid "Add Part Category" -msgstr "" +msgstr "Создать категорию деталей" #: src/tables/part/PartCategoryTemplateTable.tsx:38 #: src/tables/part/PartCategoryTemplateTable.tsx:132 @@ -9227,7 +9227,7 @@ msgstr "" #: src/tables/part/PartTable.tsx:304 msgid "Filter by parts to which the user is subscribed" -msgstr "" +msgstr "Показать детали, на которые пользователь подписан" #: src/tables/part/PartTable.tsx:309 msgid "Has Stocktake" @@ -9614,7 +9614,7 @@ msgstr "Установлено" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:59 #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:108 msgid "Add Parameter" -msgstr "" +msgstr "Создать параметр" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:60 #~ msgid "Parameter updated" @@ -9622,7 +9622,7 @@ msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:70 msgid "Edit Parameter" -msgstr "" +msgstr "Редактировать параметр" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:73 #~ msgid "Parameter deleted" @@ -9634,7 +9634,7 @@ msgstr "" #: src/tables/purchasing/ManufacturerPartParameterTable.tsx:78 msgid "Delete Parameter" -msgstr "" +msgstr "Удалить параметр" #: src/tables/purchasing/ManufacturerPartTable.tsx:63 #~ msgid "Create Manufacturer Part" @@ -9705,23 +9705,23 @@ msgstr "Создать деталь поставщика" #: src/tables/purchasing/SupplierPartTable.tsx:194 msgid "Show active supplier parts" -msgstr "" +msgstr "Показать активные детали поставщиков" #: src/tables/purchasing/SupplierPartTable.tsx:198 msgid "Active Part" -msgstr "" +msgstr "Активная деталь" #: src/tables/purchasing/SupplierPartTable.tsx:199 msgid "Show active internal parts" -msgstr "" +msgstr "Показать активные детали" #: src/tables/purchasing/SupplierPartTable.tsx:203 msgid "Active Supplier" -msgstr "" +msgstr "Активный поставщик" #: src/tables/purchasing/SupplierPartTable.tsx:204 msgid "Show active suppliers" -msgstr "" +msgstr "Показать активных поставщиков" #: src/tables/purchasing/SupplierPartTable.tsx:205 #~ msgid "Supplier part deleted" @@ -9733,7 +9733,7 @@ msgstr "" #: src/tables/purchasing/SupplierPartTable.tsx:209 msgid "Show supplier parts with stock" -msgstr "" +msgstr "Показать детали поставщиков в наличии" #: src/tables/sales/ReturnOrderLineItemTable.tsx:147 msgid "Received Date" @@ -9912,57 +9912,57 @@ msgstr "Токены показываются только один раз - о #: src/tables/settings/BarcodeScanHistoryTable.tsx:59 msgid "Barcode Information" -msgstr "" +msgstr "Информация о штрихкоде" #: src/tables/settings/BarcodeScanHistoryTable.tsx:84 msgid "Endpoint" -msgstr "" +msgstr "Конечная точка" #: src/tables/settings/BarcodeScanHistoryTable.tsx:88 #: src/tables/settings/BarcodeScanHistoryTable.tsx:207 #: src/tables/stock/StockItemTestResultTable.tsx:175 msgid "Result" -msgstr "" +msgstr "Результат" #: src/tables/settings/BarcodeScanHistoryTable.tsx:96 msgid "Context" -msgstr "" +msgstr "Контекст" #: src/tables/settings/BarcodeScanHistoryTable.tsx:117 msgid "Response" -msgstr "" +msgstr "Ответ" #: src/tables/settings/BarcodeScanHistoryTable.tsx:208 msgid "Filter by result" -msgstr "" +msgstr "Фильтр по результату" #: src/tables/settings/BarcodeScanHistoryTable.tsx:222 msgid "Delete Barcode Scan Record" -msgstr "" +msgstr "Удалить запись сканирования штрихкода" #: src/tables/settings/BarcodeScanHistoryTable.tsx:248 msgid "Barcode Scan Details" -msgstr "" +msgstr "Детали сканирования штрихкода" #: src/tables/settings/BarcodeScanHistoryTable.tsx:258 msgid "Logging Disabled" -msgstr "" +msgstr "Журналирование отключено" #: src/tables/settings/BarcodeScanHistoryTable.tsx:260 msgid "Barcode logging is not enabled" -msgstr "" +msgstr "Журналирование штрихкода отключено" #: src/tables/settings/CustomStateTable.tsx:63 msgid "Status Group" -msgstr "" +msgstr "Группа статусов" #: src/tables/settings/CustomStateTable.tsx:84 msgid "Logical State" -msgstr "" +msgstr "Логическое состояние" #: src/tables/settings/CustomStateTable.tsx:96 msgid "Identifier" -msgstr "" +msgstr "Идентификатор" #: src/tables/settings/CustomStateTable.tsx:115 #~ msgid "Add state" @@ -9972,15 +9972,15 @@ msgstr "" #: src/tables/settings/CustomStateTable.tsx:140 #: src/tables/settings/CustomStateTable.tsx:202 msgid "Add State" -msgstr "" +msgstr "Создать состояние" #: src/tables/settings/CustomStateTable.tsx:153 msgid "Edit State" -msgstr "" +msgstr "Редактировать состояние" #: src/tables/settings/CustomStateTable.tsx:161 msgid "Delete State" -msgstr "" +msgstr "Удалить состояние" #: src/tables/settings/CustomUnitsTable.tsx:50 msgid "Add Custom Unit" @@ -10004,27 +10004,27 @@ msgstr "Создать единицу измерения" #: src/tables/settings/ErrorTable.tsx:67 msgid "Traceback" -msgstr "" +msgstr "Трассировка" #: src/tables/settings/ErrorTable.tsx:103 msgid "When" -msgstr "" +msgstr "Когда" #: src/tables/settings/ErrorTable.tsx:113 msgid "Error Information" -msgstr "" +msgstr "Сведения об ошибке" #: src/tables/settings/ErrorTable.tsx:123 msgid "Delete Error Report" -msgstr "" +msgstr "Удалить отчет об ошибках" #: src/tables/settings/ErrorTable.tsx:125 msgid "Are you sure you want to delete this error report?" -msgstr "" +msgstr "Вы уверены, что хотите удалить этот отчёт об ошибках?" #: src/tables/settings/ErrorTable.tsx:127 msgid "Error report deleted" -msgstr "" +msgstr "Отчёт об ошибках удалён" #: src/tables/settings/ErrorTable.tsx:146 #: src/tables/settings/FailedTasksTable.tsx:65 @@ -10145,15 +10145,15 @@ msgstr "Аргументы" #: src/tables/settings/ProjectCodeTable.tsx:42 msgid "Add Project Code" -msgstr "" +msgstr "Создать код проекта" #: src/tables/settings/ProjectCodeTable.tsx:54 msgid "Edit Project Code" -msgstr "" +msgstr "Редактировать код проекта" #: src/tables/settings/ProjectCodeTable.tsx:62 msgid "Delete Project Code" -msgstr "" +msgstr "Удалить код проекта" #: src/tables/settings/ProjectCodeTable.tsx:93 msgid "Add project code" diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index dd551c8542..5663da5cac 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: 2025-06-17 12:21\n" +"PO-Revision-Date: 2025-06-23 23:48\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" diff --git a/src/frontend/src/locales/zh_Hans/messages.po b/src/frontend/src/locales/zh_Hans/messages.po index e1f333f8cc..704aae3220 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: 2025-06-07 05:57\n" +"PO-Revision-Date: 2025-06-25 10:34\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -64,23 +64,23 @@ msgstr "扫描" #: src/components/barcodes/BarcodeInput.tsx:53 msgid "Camera Input" -msgstr "" +msgstr "摄像头输入" #: src/components/barcodes/BarcodeInput.tsx:63 msgid "Scanner Input" -msgstr "" +msgstr "扫描仪输入" #: src/components/barcodes/BarcodeInput.tsx:105 msgid "Barcode Data" -msgstr "" +msgstr "条形码数据" #: src/components/barcodes/BarcodeInput.tsx:109 msgid "No barcode data" -msgstr "" +msgstr "无条形码数据" #: src/components/barcodes/BarcodeInput.tsx:110 msgid "Scan or enter barcode data" -msgstr "" +msgstr "扫描或输入条形码数据" #: src/components/barcodes/BarcodeInput.tsx:114 #: src/components/editors/NotesEditor.tsx:74 @@ -108,7 +108,7 @@ msgstr "错误" #: src/components/barcodes/BarcodeKeyboardInput.tsx:39 msgid "Enter barcode data" -msgstr "" +msgstr "输入条形码数据" #: src/components/barcodes/BarcodeScanDialog.tsx:32 #: src/components/buttons/ScanButton.tsx:15 @@ -120,12 +120,12 @@ msgstr "扫描条形码" #: src/components/barcodes/BarcodeScanDialog.tsx:83 msgid "No matching item found" -msgstr "" +msgstr "未找到匹配的项目" #: src/components/barcodes/BarcodeScanDialog.tsx:90 #: src/pages/Index/Scan.tsx:129 msgid "Failed to scan barcode" -msgstr "" +msgstr "扫描条形码失败" #: src/components/barcodes/QRCode.tsx:94 msgid "Low (7%)" @@ -161,7 +161,7 @@ msgstr "选择错误纠正级别" #: src/components/barcodes/QRCode.tsx:170 msgid "Failed to link barcode" -msgstr "" +msgstr "链接条形码失败" #: src/components/barcodes/QRCode.tsx:179 #: src/pages/part/PartDetail.tsx:240 @@ -200,11 +200,11 @@ msgstr "复制" #: src/components/buttons/PrintingActions.tsx:51 msgid "Printing Labels" -msgstr "" +msgstr "打印标签" #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Reports" -msgstr "" +msgstr "打印报表" #: src/components/buttons/PrintingActions.tsx:77 #~ msgid "Printing" @@ -265,7 +265,7 @@ msgstr "移除此行" #: src/components/buttons/SSOButton.tsx:38 msgid "You will be redirected to the provider for further actions." -msgstr "" +msgstr "您将被重定向到提供商进行进一步操作。" #: src/components/buttons/SSOButton.tsx:44 #~ msgid "This provider is not full set up." @@ -297,11 +297,11 @@ msgstr "打开聚焦" #: src/components/buttons/StarredToggleButton.tsx:59 msgid "Unsubscribe from notifications" -msgstr "" +msgstr "取消订阅通知" #: src/components/buttons/StarredToggleButton.tsx:60 msgid "Subscribe to notifications" -msgstr "" +msgstr "订阅通知" #: src/components/buttons/YesNoButton.tsx:16 msgid "Pass" @@ -324,32 +324,32 @@ msgstr "否" #: src/components/calendar/Calendar.tsx:93 #: src/components/calendar/Calendar.tsx:156 msgid "Calendar Filters" -msgstr "" +msgstr "日历筛选器" #: src/components/calendar/Calendar.tsx:108 msgid "Previous month" -msgstr "" +msgstr "上个月" #: src/components/calendar/Calendar.tsx:117 msgid "Select month" -msgstr "" +msgstr "选择月份" #: src/components/calendar/Calendar.tsx:138 msgid "Next month" -msgstr "" +msgstr "下个月" #: src/components/calendar/Calendar.tsx:169 #: src/tables/InvenTreeTableHeader.tsx:248 msgid "Download data" -msgstr "" +msgstr "下载数据" #: src/components/calendar/OrderCalendar.tsx:133 msgid "Order Updated" -msgstr "" +msgstr "订单已更新" #: src/components/calendar/OrderCalendar.tsx:143 msgid "Error updating order" -msgstr "" +msgstr "更新订单时出错" #: src/components/calendar/OrderCalendar.tsx:179 #: src/tables/Filter.tsx:140 @@ -441,7 +441,7 @@ msgstr "生产订单所需的" #: src/components/dashboard/DashboardWidgetLibrary.tsx:47 msgid "Show parts which are required for active build orders" -msgstr "" +msgstr "显示当前生产订单所需的零件" #: src/components/dashboard/DashboardWidgetLibrary.tsx:52 msgid "Expired Stock Items" @@ -461,11 +461,11 @@ msgstr "显示过期库存项" #: src/components/dashboard/DashboardWidgetLibrary.tsx:68 msgid "Active Build Orders" -msgstr "" +msgstr "激活的生产订单" #: src/components/dashboard/DashboardWidgetLibrary.tsx:70 msgid "Show the number of build orders which are currently active" -msgstr "" +msgstr "显示当前激活的生产订单数量" #: src/components/dashboard/DashboardWidgetLibrary.tsx:75 msgid "Overdue Build Orders" @@ -473,23 +473,23 @@ msgstr "逾期的生产订单" #: src/components/dashboard/DashboardWidgetLibrary.tsx:77 msgid "Show the number of build orders which are overdue" -msgstr "" +msgstr "显示逾期的生产订单数量" #: src/components/dashboard/DashboardWidgetLibrary.tsx:82 msgid "Assigned Build Orders" -msgstr "" +msgstr "已分配的生产订单" #: src/components/dashboard/DashboardWidgetLibrary.tsx:84 msgid "Show the number of build orders which are assigned to you" -msgstr "" +msgstr "显示分配给您的生产订单数量" #: src/components/dashboard/DashboardWidgetLibrary.tsx:89 msgid "Active Sales Orders" -msgstr "" +msgstr "活动的销售订单" #: src/components/dashboard/DashboardWidgetLibrary.tsx:91 msgid "Show the number of sales orders which are currently active" -msgstr "" +msgstr "显示当前活动的销售订单数量" #: src/components/dashboard/DashboardWidgetLibrary.tsx:96 msgid "Overdue Sales Orders" @@ -497,23 +497,23 @@ msgstr "逾期的销售订单" #: src/components/dashboard/DashboardWidgetLibrary.tsx:98 msgid "Show the number of sales orders which are overdue" -msgstr "" +msgstr "显示逾期的销售订单数量" #: src/components/dashboard/DashboardWidgetLibrary.tsx:103 msgid "Assigned Sales Orders" -msgstr "" +msgstr "已分配的销售订单" #: src/components/dashboard/DashboardWidgetLibrary.tsx:105 msgid "Show the number of sales orders which are assigned to you" -msgstr "" +msgstr "显示分配给您的销售订单数量" #: src/components/dashboard/DashboardWidgetLibrary.tsx:110 msgid "Active Purchase Orders" -msgstr "" +msgstr "活跃的采购订单" #: src/components/dashboard/DashboardWidgetLibrary.tsx:112 msgid "Show the number of purchase orders which are currently active" -msgstr "" +msgstr "显示当前活跃的采购订单数量" #: src/components/dashboard/DashboardWidgetLibrary.tsx:117 msgid "Overdue Purchase Orders" @@ -521,39 +521,39 @@ msgstr "逾期的采购订单" #: src/components/dashboard/DashboardWidgetLibrary.tsx:119 msgid "Show the number of purchase orders which are overdue" -msgstr "" +msgstr "显示逾期的采购订单数量" #: src/components/dashboard/DashboardWidgetLibrary.tsx:124 msgid "Assigned Purchase Orders" -msgstr "" +msgstr "已分配的采购订单" #: src/components/dashboard/DashboardWidgetLibrary.tsx:126 msgid "Show the number of purchase orders which are assigned to you" -msgstr "" +msgstr "显示分配给您的采购订单数量" #: src/components/dashboard/DashboardWidgetLibrary.tsx:131 msgid "Active Return Orders" -msgstr "" +msgstr "活跃的退货订单" #: src/components/dashboard/DashboardWidgetLibrary.tsx:133 msgid "Show the number of return orders which are currently active" -msgstr "" +msgstr "显示当前活跃的退货订单数量" #: src/components/dashboard/DashboardWidgetLibrary.tsx:138 msgid "Overdue Return Orders" -msgstr "" +msgstr "逾期退货订单" #: src/components/dashboard/DashboardWidgetLibrary.tsx:140 msgid "Show the number of return orders which are overdue" -msgstr "" +msgstr "显示逾期的退货订单数量" #: src/components/dashboard/DashboardWidgetLibrary.tsx:145 msgid "Assigned Return Orders" -msgstr "" +msgstr "已分配的退货订单" #: src/components/dashboard/DashboardWidgetLibrary.tsx:147 msgid "Show the number of return orders which are assigned to you" -msgstr "" +msgstr "显示分配给您的退货订单数量" #: src/components/dashboard/DashboardWidgetLibrary.tsx:158 #: src/components/dashboard/widgets/GetStartedWidget.tsx:15 @@ -569,11 +569,11 @@ msgstr "开始使用 InvenTree" #: src/components/dashboard/DashboardWidgetLibrary.tsx:166 #: src/components/dashboard/widgets/NewsWidget.tsx:123 msgid "News Updates" -msgstr "" +msgstr "最新消息" #: src/components/dashboard/DashboardWidgetLibrary.tsx:167 msgid "The latest news from InvenTree" -msgstr "" +msgstr "来自 InvenTree 的最新消息" #: src/components/dashboard/widgets/ColorToggleWidget.tsx:18 #: src/components/nav/MainMenu.tsx:77 @@ -582,15 +582,15 @@ msgstr "更改色彩模式" #: src/components/dashboard/widgets/ColorToggleWidget.tsx:23 msgid "Change the color mode of the user interface" -msgstr "" +msgstr "更改用户界面的颜色模式" #: src/components/dashboard/widgets/LanguageSelectWidget.tsx:18 msgid "Change Language" -msgstr "" +msgstr "切换语言" #: src/components/dashboard/widgets/LanguageSelectWidget.tsx:23 msgid "Change the language of the user interface" -msgstr "" +msgstr "更改用户界面的语言" #: src/components/dashboard/widgets/NewsWidget.tsx:60 #: src/components/nav/NotificationDrawer.tsx:89 @@ -600,11 +600,11 @@ msgstr "标记为已读" #: src/components/dashboard/widgets/NewsWidget.tsx:115 msgid "Requires Superuser" -msgstr "" +msgstr "需要超级用户" #: src/components/dashboard/widgets/NewsWidget.tsx:116 msgid "This widget requires superuser permissions" -msgstr "" +msgstr "此部件需要超级用户权限" #: src/components/dashboard/widgets/NewsWidget.tsx:133 msgid "No News" @@ -612,7 +612,7 @@ msgstr "沒有消息" #: src/components/dashboard/widgets/NewsWidget.tsx:134 msgid "There are no unread news items" -msgstr "" +msgstr "没有未读新闻项目" #: src/components/details/Details.tsx:116 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:76 @@ -635,7 +635,7 @@ msgstr "工作人员" #: src/components/details/Details.tsx:118 msgid "Email: " -msgstr "" +msgstr "邮箱: " #: src/components/details/Details.tsx:387 msgid "No name defined" @@ -680,11 +680,11 @@ msgstr "点击选择文件" #: src/components/details/DetailsImage.tsx:172 msgid "Image uploaded" -msgstr "" +msgstr "图片已上传" #: src/components/details/DetailsImage.tsx:173 msgid "Image has been uploaded successfully" -msgstr "" +msgstr "图片已经上传成功" #: src/components/details/DetailsImage.tsx:180 #: src/tables/general/AttachmentTable.tsx:197 @@ -1096,7 +1096,7 @@ msgstr "发送电子邮件" #: src/components/forms/AuthenticationForm.tsx:221 msgid "Passwords do not match" -msgstr "" +msgstr "密码不匹配" #: src/components/forms/AuthenticationForm.tsx:238 msgid "Registration successful" @@ -1112,7 +1112,7 @@ msgstr "输入错误" #: src/components/forms/AuthenticationForm.tsx:263 msgid "Check your input and try again. " -msgstr "" +msgstr "请检查您的输入并重试 " #: src/components/forms/AuthenticationForm.tsx:287 msgid "This will be used for a confirmation" @@ -1185,12 +1185,12 @@ msgstr "保存" #: src/components/forms/InstanceOptions.tsx:59 msgid "Select Server" -msgstr "" +msgstr "选择服务器" #: src/components/forms/InstanceOptions.tsx:69 #: src/components/forms/InstanceOptions.tsx:93 msgid "Edit host options" -msgstr "" +msgstr "编辑主机选项" #: src/components/forms/InstanceOptions.tsx:71 #~ msgid "Edit possible host options" @@ -1198,7 +1198,7 @@ msgstr "" #: src/components/forms/InstanceOptions.tsx:77 msgid "Save host selection" -msgstr "" +msgstr "保存主机选择" #: src/components/forms/InstanceOptions.tsx:98 #~ msgid "Version: {0}" @@ -1264,7 +1264,7 @@ msgstr "已停止" #: src/components/forms/InstanceOptions.tsx:151 msgid "Running" -msgstr "" +msgstr "运行中" #: src/components/forms/fields/IconField.tsx:82 msgid "No icon selected" @@ -1320,7 +1320,7 @@ msgstr "无可用条目" #: src/components/forms/fields/TableField.tsx:198 msgid "Add new row" -msgstr "" +msgstr "添加新行" #: src/components/images/DetailsImage.tsx:252 #~ msgid "Select image" @@ -1520,7 +1520,7 @@ msgstr "条形码操作" #: src/components/items/ActionDropdown.tsx:174 msgid "View Barcode" -msgstr "" +msgstr "查看条码" #: src/components/items/ActionDropdown.tsx:176 msgid "View barcode" @@ -1572,7 +1572,7 @@ msgstr "重复项目" #: src/components/items/ColorToggle.tsx:17 msgid "Toggle color scheme" -msgstr "" +msgstr "切换颜色方案" #: src/components/items/DocTooltip.tsx:92 #: src/components/items/GettingStartedCarousel.tsx:20 @@ -1602,7 +1602,7 @@ msgstr "InvenTree Logo" #: src/components/items/LanguageToggle.tsx:20 msgid "Select language" -msgstr "" +msgstr "选择语言" #: src/components/items/OnlyStaff.tsx:9 #: src/components/modals/AboutInvenTreeModal.tsx:46 @@ -1619,11 +1619,11 @@ msgstr "此信息仅供员工使用" #: src/components/items/RoleTable.tsx:81 msgid "Updating" -msgstr "" +msgstr "更新中" #: src/components/items/RoleTable.tsx:82 msgid "Updating group roles" -msgstr "" +msgstr "正在更新组角色" #: src/components/items/RoleTable.tsx:118 #: src/pages/part/pricing/BomPricingPanel.tsx:193 @@ -1634,11 +1634,11 @@ msgstr "已更新" #: src/components/items/RoleTable.tsx:119 msgid "Group roles updated" -msgstr "" +msgstr "组角色已更新" #: src/components/items/RoleTable.tsx:135 msgid "Role" -msgstr "" +msgstr "角色" #: src/components/items/RoleTable.tsx:140 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:412 @@ -1647,7 +1647,7 @@ msgstr "" #: src/components/items/RoleTable.tsx:145 msgid "Change" -msgstr "" +msgstr "更改" #: src/components/items/RoleTable.tsx:150 #: src/forms/StockForms.tsx:788 @@ -1658,19 +1658,19 @@ msgstr "添加" #: src/components/items/RoleTable.tsx:203 msgid "Reset group roles" -msgstr "" +msgstr "重置组角色" #: src/components/items/RoleTable.tsx:212 msgid "Reset" -msgstr "" +msgstr "重置" #: src/components/items/RoleTable.tsx:215 msgid "Save group roles" -msgstr "" +msgstr "保存组角色" #: src/components/items/TransferList.tsx:65 msgid "No items" -msgstr "" +msgstr "没有项目" #: src/components/items/TransferList.tsx:161 #: src/pages/part/PartDetail.tsx:755 @@ -1685,7 +1685,7 @@ msgstr "可用的" #: src/components/items/TransferList.tsx:162 msgid "Selected" -msgstr "" +msgstr "已选" #: src/components/modals/AboutInvenTreeModal.tsx:101 msgid "InvenTree Version" @@ -1731,7 +1731,7 @@ msgstr "文档" #: src/components/modals/AboutInvenTreeModal.tsx:164 msgid "Source Code" -msgstr "" +msgstr "源代码" #: src/components/modals/AboutInvenTreeModal.tsx:165 msgid "Mobile App" @@ -1870,7 +1870,7 @@ msgstr "后台工作者" #: src/components/modals/ServerInfoModal.tsx:107 msgid "The Background worker process is not running." -msgstr "" +msgstr "后台工作进程未运行。" #: src/components/modals/ServerInfoModal.tsx:114 msgid "Email Settings" @@ -1879,7 +1879,7 @@ msgstr "电子邮件设置" #: src/components/modals/ServerInfoModal.tsx:118 #: src/components/nav/Alerts.tsx:60 msgid "Email settings not configured." -msgstr "" +msgstr "电子邮件设置未配置。" #: src/components/modals/ServerInfoModal.tsx:118 #~ msgid "Email settings not configured" @@ -1887,39 +1887,39 @@ msgstr "" #: src/components/nav/Alerts.tsx:42 msgid "The server is running in debug mode." -msgstr "" +msgstr "服务器正以调试模式运行。" #: src/components/nav/Alerts.tsx:51 msgid "The background worker process is not running." -msgstr "" +msgstr "后台工作进程未运行。" #: src/components/nav/Alerts.tsx:58 msgid "Email settings" -msgstr "" +msgstr "电子邮件设置" #: src/components/nav/Alerts.tsx:67 msgid "Server Restart" -msgstr "" +msgstr "服务器重启" #: src/components/nav/Alerts.tsx:69 msgid "The server requires a restart to apply changes." -msgstr "" +msgstr "服务器需要重新启动才能应用更改。" #: src/components/nav/Alerts.tsx:79 msgid "Database Migrations" -msgstr "" +msgstr "数据库迁移" #: src/components/nav/Alerts.tsx:81 msgid "There are pending database migrations." -msgstr "" +msgstr "存在待处理的数据库迁移。" #: src/components/nav/Alerts.tsx:97 msgid "Alerts" -msgstr "" +msgstr "警报" #: src/components/nav/Alerts.tsx:140 msgid "Learn more about {code}" -msgstr "" +msgstr "了解更多关于{code}的信息" #: src/components/nav/Header.tsx:150 #: src/components/nav/NavigationDrawer.tsx:141 @@ -2031,7 +2031,7 @@ msgstr "库存" #: src/pages/build/BuildDetail.tsx:559 #: src/pages/build/BuildIndex.tsx:90 msgid "Manufacturing" -msgstr "" +msgstr "生产" #: src/components/nav/NavigationDrawer.tsx:98 #: src/defaults/links.tsx:54 @@ -2114,15 +2114,15 @@ msgstr "您没有未读通知" #: src/components/nav/SearchDrawer.tsx:105 msgid "No Overview Available" -msgstr "" +msgstr "暂无概述" #: src/components/nav/SearchDrawer.tsx:106 msgid "No overview available for this model type" -msgstr "" +msgstr "此模型类型暂无概述" #: src/components/nav/SearchDrawer.tsx:124 msgid "View all results" -msgstr "" +msgstr "查看所有结果" #: src/components/nav/SearchDrawer.tsx:139 msgid "results" @@ -2130,7 +2130,7 @@ msgstr "结果" #: src/components/nav/SearchDrawer.tsx:143 msgid "Remove search group" -msgstr "" +msgstr "移除搜索组" #: src/components/nav/SearchDrawer.tsx:287 #: src/pages/company/ManufacturerPartDetail.tsx:177 @@ -2178,7 +2178,7 @@ msgstr "正则表达式搜索" #: src/components/nav/SearchDrawer.tsx:530 msgid "Notes search" -msgstr "" +msgstr "备注搜索" #: src/components/nav/SearchDrawer.tsx:578 msgid "An error occurred during search query" @@ -2206,7 +2206,7 @@ msgstr "备注" #: src/components/plugins/LocateItemButton.tsx:68 #: src/components/plugins/LocateItemButton.tsx:88 msgid "Locate Item" -msgstr "" +msgstr "定位项目" #: src/components/plugins/LocateItemButton.tsx:70 msgid "Item location requested" @@ -2364,15 +2364,15 @@ msgstr "加载插件预览出错" #: src/components/plugins/RemoteComponent.tsx:76 msgid "Invalid source or function name" -msgstr "" +msgstr "无效的源或函数名称" #: src/components/plugins/RemoteComponent.tsx:94 msgid "Error Loading Content" -msgstr "" +msgstr "加载内容出错" #: src/components/plugins/RemoteComponent.tsx:98 msgid "Error occurred while loading plugin content" -msgstr "" +msgstr "加载插件内容时出错" #: src/components/render/Instance.tsx:238 #~ msgid "Unknown model: {model}" @@ -2380,7 +2380,7 @@ msgstr "" #: src/components/render/Instance.tsx:239 msgid "Unknown model: {model_name}" -msgstr "" +msgstr "未知模型: {model_name}" #: src/components/render/ModelType.tsx:29 #: src/components/wizards/OrderPartsWizard.tsx:132 @@ -2755,12 +2755,12 @@ msgstr "内容类型" #: src/components/render/ModelType.tsx:267 msgid "Selection List" -msgstr "" +msgstr "选择列表" #: src/components/render/ModelType.tsx:268 #: src/pages/Index/Settings/AdminCenter/PartParameterPanel.tsx:21 msgid "Selection Lists" -msgstr "" +msgstr "选择列表" #: src/components/render/ModelType.tsx:274 #: src/tables/machine/MachineListTable.tsx:353 @@ -2860,7 +2860,7 @@ msgstr "编辑设置" #: src/components/settings/SettingList.tsx:85 msgid "Setting {key} updated successfully" -msgstr "" +msgstr "设置{key}更新成功" #: src/components/settings/SettingList.tsx:114 msgid "Setting updated" @@ -3257,15 +3257,15 @@ msgstr "未指定设置" #: src/components/wizards/OrderPartsWizard.tsx:61 msgid "New Purchase Order" -msgstr "" +msgstr "新建采购订单" #: src/components/wizards/OrderPartsWizard.tsx:63 msgid "Purchase order created" -msgstr "" +msgstr "采购订单已创建" #: src/components/wizards/OrderPartsWizard.tsx:75 msgid "New Supplier Part" -msgstr "" +msgstr "新增供应商零件" #: src/components/wizards/OrderPartsWizard.tsx:77 #: src/tables/purchasing/SupplierPartTable.tsx:175 @@ -3274,75 +3274,75 @@ msgstr "供应商零件已更新" #: src/components/wizards/OrderPartsWizard.tsx:103 msgid "Add to Purchase Order" -msgstr "" +msgstr "添加到采购订单中" #: src/components/wizards/OrderPartsWizard.tsx:115 msgid "Part added to purchase order" -msgstr "" +msgstr "零件已添加到采购订单中" #: src/components/wizards/OrderPartsWizard.tsx:156 msgid "Select supplier part" -msgstr "" +msgstr "选择供应商零件" #: src/components/wizards/OrderPartsWizard.tsx:171 msgid "New supplier part" -msgstr "" +msgstr "新增供应商零件" #: src/components/wizards/OrderPartsWizard.tsx:195 msgid "Select purchase order" -msgstr "" +msgstr "选择采购订单" #: src/components/wizards/OrderPartsWizard.tsx:209 msgid "New purchase order" -msgstr "" +msgstr "新建采购订单" #: src/components/wizards/OrderPartsWizard.tsx:257 msgid "Add to selected purchase order" -msgstr "" +msgstr "添加到已选的采购订单中" #: src/components/wizards/OrderPartsWizard.tsx:269 #: src/components/wizards/OrderPartsWizard.tsx:382 msgid "No parts selected" -msgstr "" +msgstr "没有选定零件" #: src/components/wizards/OrderPartsWizard.tsx:270 msgid "No purchaseable parts selected" -msgstr "" +msgstr "未选择可购买的零件" #: src/components/wizards/OrderPartsWizard.tsx:306 msgid "Parts Added" -msgstr "" +msgstr "零件已添加" #: src/components/wizards/OrderPartsWizard.tsx:307 msgid "All selected parts added to a purchase order" -msgstr "" +msgstr "所有选中的零件添加到采购订单中" #: src/components/wizards/OrderPartsWizard.tsx:383 msgid "You must select at least one part to order" -msgstr "" +msgstr "您必须至少选择一个零件才能下单" #: src/components/wizards/OrderPartsWizard.tsx:394 msgid "Supplier part is required" -msgstr "" +msgstr "供应商零件为必填项" #: src/components/wizards/OrderPartsWizard.tsx:398 msgid "Quantity is required" -msgstr "" +msgstr "数量为必填项" #: src/components/wizards/OrderPartsWizard.tsx:411 msgid "Invalid part selection" -msgstr "" +msgstr "无效的零件选择" #: src/components/wizards/OrderPartsWizard.tsx:413 msgid "Please correct the errors in the selected parts" -msgstr "" +msgstr "请修正所选零件中的错误" #: src/components/wizards/OrderPartsWizard.tsx:424 #: src/tables/build/BuildLineTable.tsx:648 #: src/tables/part/PartTable.tsx:377 #: src/tables/sales/SalesOrderLineItemTable.tsx:334 msgid "Order Parts" -msgstr "" +msgstr "订购零件" #: src/contexts/LanguageContext.tsx:20 msgid "Arabic" @@ -3466,7 +3466,7 @@ msgstr "斯洛语尼亚语" #: src/contexts/LanguageContext.tsx:50 msgid "Serbian" -msgstr "" +msgstr "塞尔维亚语" #: src/contexts/LanguageContext.tsx:51 msgid "Swedish" @@ -3532,7 +3532,7 @@ msgstr "服务器信息" #: src/defaults/actions.tsx:49 #: src/defaults/links.tsx:169 msgid "About this InvenTree instance" -msgstr "" +msgstr "关于 InvenTree 实例" #: src/defaults/actions.tsx:55 #: src/defaults/links.tsx:153 @@ -4538,7 +4538,7 @@ msgstr "" #: src/hooks/UseForm.tsx:137 msgid "Update multiple items" -msgstr "" +msgstr "更新多个项目" #: src/hooks/UseForm.tsx:167 msgid "Item Deleted" @@ -4555,39 +4555,39 @@ msgstr "最新序列号" #: src/pages/Auth/ChangePassword.tsx:32 #: src/pages/Auth/Reset.tsx:14 msgid "Reset Password" -msgstr "" +msgstr "重置密码" #: src/pages/Auth/ChangePassword.tsx:46 msgid "Current Password" -msgstr "" +msgstr "当前密码" #: src/pages/Auth/ChangePassword.tsx:47 msgid "Enter your current password" -msgstr "" +msgstr "输入您当前的密码" #: src/pages/Auth/ChangePassword.tsx:53 msgid "New Password" -msgstr "" +msgstr "新密码" #: src/pages/Auth/ChangePassword.tsx:54 msgid "Enter your new password" -msgstr "" +msgstr "输入您的新密码" #: src/pages/Auth/ChangePassword.tsx:60 msgid "Confirm New Password" -msgstr "" +msgstr "确认新密码" #: src/pages/Auth/ChangePassword.tsx:61 msgid "Confirm your new password" -msgstr "" +msgstr "确认您的新密码" #: src/pages/Auth/ChangePassword.tsx:80 msgid "Confirm" -msgstr "" +msgstr "确认" #: src/pages/Auth/Layout.tsx:67 msgid "Log off" -msgstr "" +msgstr "注销登录" #: src/pages/Auth/LoggedIn.tsx:19 msgid "Checking if you are already logged in" @@ -4611,7 +4611,7 @@ msgstr "登录" #: src/pages/Auth/Login.tsx:105 msgid "Logging you in" -msgstr "" +msgstr "正在登录" #: src/pages/Auth/Login.tsx:112 msgid "Don't have an account?" @@ -4628,29 +4628,29 @@ msgstr "没有帐户?" #: src/pages/Auth/MFA.tsx:17 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:82 msgid "Multi-Factor Authentication" -msgstr "" +msgstr "多因素认证" #: src/pages/Auth/MFA.tsx:20 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:688 msgid "TOTP Code" -msgstr "" +msgstr "TOTP 代码" #: src/pages/Auth/MFA.tsx:22 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:690 msgid "Enter your TOTP or recovery code" -msgstr "" +msgstr "输入您的 TOTP 或恢复码" #: src/pages/Auth/MFA.tsx:32 msgid "Log in" -msgstr "" +msgstr "登录" #: src/pages/Auth/MFASetup.tsx:23 msgid "MFA Setup Required" -msgstr "" +msgstr "需设置多因素认证" #: src/pages/Auth/MFASetup.tsx:34 msgid "Add TOTP" -msgstr "" +msgstr "添加 TOTP" #: src/pages/Auth/Register.tsx:23 msgid "Go back to login" @@ -4664,11 +4664,11 @@ msgstr "返回登录界面" #: src/pages/Auth/ResetPassword.tsx:22 #: src/pages/Auth/VerifyEmail.tsx:19 msgid "Key invalid" -msgstr "" +msgstr "密钥无效" #: src/pages/Auth/ResetPassword.tsx:23 msgid "You need to provide a valid key to set a new password. Check your inbox for a reset link." -msgstr "" +msgstr "您需要提供一个有效的值来设置一个新的密码。请检查收件箱以获取重置链接。" #: src/pages/Auth/ResetPassword.tsx:30 #~ msgid "Token invalid" @@ -4684,11 +4684,11 @@ msgstr "设置新密码" #: src/pages/Auth/ResetPassword.tsx:35 msgid "The desired new password" -msgstr "" +msgstr "想设置的新密码" #: src/pages/Auth/ResetPassword.tsx:44 msgid "Send Password" -msgstr "" +msgstr "发送密码" #: src/pages/Auth/Set-Password.tsx:49 #~ msgid "No token provided" @@ -4700,15 +4700,15 @@ msgstr "" #: src/pages/Auth/VerifyEmail.tsx:20 msgid "You need to provide a valid key." -msgstr "" +msgstr "您需要提供一个有效的密钥。" #: src/pages/Auth/VerifyEmail.tsx:28 msgid "Verify Email" -msgstr "" +msgstr "验证电子邮件" #: src/pages/Auth/VerifyEmail.tsx:30 msgid "Verify" -msgstr "" +msgstr "验证" #. placeholder {0}: error.statusText #: src/pages/ErrorPage.tsx:16 @@ -4877,20 +4877,20 @@ msgstr "发生意外错误。" #: src/pages/Index/Scan.tsx:65 msgid "Item already scanned" -msgstr "" +msgstr "项目已扫描" #: src/pages/Index/Scan.tsx:82 #: src/tables/InvenTreeTable.tsx:217 msgid "API Error" -msgstr "" +msgstr "API 错误" #: src/pages/Index/Scan.tsx:83 msgid "Failed to fetch instance data" -msgstr "" +msgstr "获取实例数据失败" #: src/pages/Index/Scan.tsx:130 msgid "Scan Error" -msgstr "" +msgstr "扫描错误" #: src/pages/Index/Scan.tsx:162 msgid "Selected elements are not known" @@ -4906,16 +4906,16 @@ msgstr "选择多个对象类型" #: src/pages/Index/Scan.tsx:177 msgid "Actions ... " -msgstr "" +msgstr "操作 ... " #: src/pages/Index/Scan.tsx:194 #: src/pages/Index/Scan.tsx:198 msgid "Barcode Scanning" -msgstr "" +msgstr "条形码扫描" #: src/pages/Index/Scan.tsx:207 msgid "Barcode Input" -msgstr "" +msgstr "条形码输入" #: src/pages/Index/Scan.tsx:214 msgid "Action" @@ -4923,7 +4923,7 @@ msgstr "操作" #: src/pages/Index/Scan.tsx:217 msgid "No Items Selected" -msgstr "" +msgstr "未选中项目" #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" @@ -4931,7 +4931,7 @@ msgstr "" #: src/pages/Index/Scan.tsx:218 msgid "Scan and select items to perform actions" -msgstr "" +msgstr "扫描并选择项目以执行操作" #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" @@ -4944,7 +4944,7 @@ msgstr "已选择 {0} 项" #: src/pages/Index/Scan.tsx:235 msgid "Scanned Items" -msgstr "" +msgstr "已扫描项目" #: src/pages/Index/Scan.tsx:276 #~ msgid "Actions for {0}" @@ -5050,7 +5050,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:33 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:113 msgid "Edit Account Information" -msgstr "" +msgstr "编辑帐户信息" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:34 #~ msgid "User details updated" @@ -5058,7 +5058,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:37 msgid "Account details updated" -msgstr "" +msgstr "帐户详情已更新" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:46 #~ msgid "User Actions" @@ -5075,7 +5075,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:55 #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:136 msgid "Edit Profile Information" -msgstr "" +msgstr "编辑个人资料" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:55 #~ msgid "Last name" @@ -5091,7 +5091,7 @@ msgstr "" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:59 msgid "Profile details updated" -msgstr "" +msgstr "个人资料更新成功" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:61 #~ msgid "Last name: {0}" @@ -5128,54 +5128,54 @@ msgstr "显示名称" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:86 #: src/pages/core/UserDetail.tsx:127 msgid "Position" -msgstr "" +msgstr "位置" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:90 #: src/pages/Index/Settings/AccountSettings/SecurityContent.tsx:444 msgid "Type" -msgstr "" +msgstr "类型" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:91 #: src/pages/core/UserDetail.tsx:143 msgid "Organisation" -msgstr "" +msgstr "组织" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:92 msgid "Primary Group" -msgstr "" +msgstr "主组" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:104 msgid "Account Details" -msgstr "" +msgstr "账户详情" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:107 msgid "Account Actions" -msgstr "" +msgstr "帐户操作" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:111 msgid "Edit Account" -msgstr "" +msgstr "编辑账户" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:117 msgid "Change Password" -msgstr "" +msgstr "更改密码" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:119 msgid "Change User Password" -msgstr "" +msgstr "变更用户密码" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:131 msgid "Profile Details" -msgstr "" +msgstr "个人资料" #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:134 msgid "Edit Profile" -msgstr "" +msgstr "编辑个人资料" #. placeholder {0}: item.label #: src/pages/Index/Settings/AccountSettings/AccountDetailPanel.tsx:153 msgid "{0}" -msgstr "" +msgstr "{0}" #: src/pages/Index/Settings/AccountSettings/QrRegistrationForm.tsx:24 msgid "Secret" @@ -6418,7 +6418,7 @@ msgstr "" #: src/pages/core/UserDetail.tsx:178 msgid "User Profile" -msgstr "" +msgstr "用户资料" #: src/pages/core/UserDetail.tsx:188 #: src/tables/settings/UserTable.tsx:153 @@ -6427,7 +6427,7 @@ msgstr "用户详情" #: src/pages/core/UserDetail.tsx:206 msgid "Basic user" -msgstr "" +msgstr "基本用户" #: src/pages/part/CategoryDetail.tsx:99 #: src/pages/stock/LocationDetail.tsx:97 @@ -6472,7 +6472,7 @@ msgstr "编辑零件类别" #: src/pages/part/CategoryDetail.tsx:188 msgid "Move items to parent category" -msgstr "" +msgstr "移动项目到父类别" #: src/pages/part/CategoryDetail.tsx:192 #: src/pages/stock/LocationDetail.tsx:229 @@ -6683,7 +6683,7 @@ msgstr "价格范围" #: src/pages/part/PartDetail.tsx:435 msgid "Latest Serial Number" -msgstr "" +msgstr "最新序列号" #: src/pages/part/PartDetail.tsx:510 #~ msgid "Stocktake By" @@ -6858,11 +6858,11 @@ msgstr "计划数量" #: src/pages/part/PartSchedulingDetail.tsx:242 msgid "No information available" -msgstr "" +msgstr "无可用信息" #: src/pages/part/PartSchedulingDetail.tsx:243 msgid "There is no scheduling information available for the selected part" -msgstr "" +msgstr "所选零件没有可用的计划信息" #: src/pages/part/PartSchedulingDetail.tsx:278 msgid "Expected Quantity" @@ -7150,19 +7150,19 @@ msgstr "总成本" #: src/pages/sales/ReturnOrderDetail.tsx:184 #: src/pages/sales/SalesOrderDetail.tsx:196 msgid "Contact Email" -msgstr "" +msgstr "联系邮箱" #: src/pages/purchasing/PurchaseOrderDetail.tsx:228 #: src/pages/sales/ReturnOrderDetail.tsx:192 #: src/pages/sales/SalesOrderDetail.tsx:204 msgid "Contact Phone" -msgstr "" +msgstr "联系电话" #: src/pages/purchasing/PurchaseOrderDetail.tsx:261 #: src/pages/sales/ReturnOrderDetail.tsx:226 #: src/pages/sales/SalesOrderDetail.tsx:237 msgid "Issue Date" -msgstr "" +msgstr "签发日期" #: src/pages/purchasing/PurchaseOrderDetail.tsx:286 #: src/pages/sales/ReturnOrderDetail.tsx:250 @@ -7171,7 +7171,7 @@ msgstr "" #: src/tables/build/BuildOrderTable.tsx:112 #: src/tables/part/PartPurchaseOrdersTable.tsx:105 msgid "Completion Date" -msgstr "" +msgstr "完成日期" #: src/pages/purchasing/PurchaseOrderDetail.tsx:316 #: src/pages/sales/ReturnOrderDetail.tsx:280 @@ -7281,15 +7281,15 @@ msgstr "挂起销售订单" #: src/pages/sales/SalesOrderDetail.tsx:439 msgid "Ship Sales Order" -msgstr "" +msgstr "销售订单发货" #: src/pages/sales/SalesOrderDetail.tsx:441 msgid "Ship this order?" -msgstr "" +msgstr "确认发货此订单?" #: src/pages/sales/SalesOrderDetail.tsx:442 msgid "Order shipped" -msgstr "" +msgstr "订单已发货" #: src/pages/sales/SalesOrderDetail.tsx:450 msgid "Complete Sales Order" @@ -7376,7 +7376,7 @@ msgstr "发送货物" #: src/pages/sales/SalesOrderShipmentDetail.tsx:330 msgid "Shipment Actions" -msgstr "" +msgstr "货运操作" #: src/pages/stock/LocationDetail.tsx:113 msgid "Parent Location" @@ -7416,7 +7416,7 @@ msgstr "编辑库存地点" #: src/pages/stock/LocationDetail.tsx:225 msgid "Move items to parent location" -msgstr "" +msgstr "移动项目到父位置" #: src/pages/stock/LocationDetail.tsx:237 #: src/pages/stock/LocationDetail.tsx:340 @@ -7454,7 +7454,7 @@ msgstr "基础零件" #: src/pages/stock/StockDetail.tsx:156 msgid "Completed Tests" -msgstr "" +msgstr "已完成测试" #: src/pages/stock/StockDetail.tsx:161 #~ msgid "Unlink custom barcode from stock item" @@ -7589,11 +7589,11 @@ msgstr "从客户退货" #: src/pages/stock/StockDetail.tsx:791 msgid "Assign to Customer" -msgstr "" +msgstr "分配给客户" #: src/pages/stock/StockDetail.tsx:792 msgid "Assign to a customer" -msgstr "" +msgstr "分配给客户" #: src/pages/stock/StockDetail.tsx:804 msgid "Stock Item Actions"