From a3584bd452df29ebe9eed8d37fb313de59da0791 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 14 Apr 2026 10:56:46 +1000 Subject: [PATCH] New Crowdin translations by GitHub Action (#11730) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .../InvenTree/locale/ar/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/bg/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/cs/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/da/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/de/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/el/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/en/LC_MESSAGES/django.po | 926 ++++++++--------- .../InvenTree/locale/es/LC_MESSAGES/django.po | 928 ++++++++--------- .../locale/es_MX/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/et/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/fa/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/fi/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/fr/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/he/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/hi/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/hu/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/id/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/it/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/ja/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/ko/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/lt/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/lv/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/nl/LC_MESSAGES/django.po | 952 +++++++++--------- .../InvenTree/locale/no/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/pl/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/pt/LC_MESSAGES/django.po | 928 ++++++++--------- .../locale/pt_BR/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/ro/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/ru/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/sk/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/sl/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/sr/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/sv/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/th/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/tr/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/uk/LC_MESSAGES/django.po | 928 ++++++++--------- .../InvenTree/locale/vi/LC_MESSAGES/django.po | 928 ++++++++--------- .../locale/zh_Hans/LC_MESSAGES/django.po | 928 ++++++++--------- .../locale/zh_Hant/LC_MESSAGES/django.po | 928 ++++++++--------- src/frontend/src/locales/ar/messages.po | 218 ++-- src/frontend/src/locales/bg/messages.po | 218 ++-- src/frontend/src/locales/cs/messages.po | 218 ++-- src/frontend/src/locales/da/messages.po | 218 ++-- src/frontend/src/locales/de/messages.po | 222 ++-- src/frontend/src/locales/el/messages.po | 218 ++-- src/frontend/src/locales/en/messages.po | 220 ++-- src/frontend/src/locales/es/messages.po | 218 ++-- src/frontend/src/locales/es_MX/messages.po | 218 ++-- src/frontend/src/locales/et/messages.po | 218 ++-- src/frontend/src/locales/fa/messages.po | 218 ++-- src/frontend/src/locales/fi/messages.po | 218 ++-- src/frontend/src/locales/fr/messages.po | 218 ++-- src/frontend/src/locales/he/messages.po | 218 ++-- src/frontend/src/locales/hi/messages.po | 218 ++-- src/frontend/src/locales/hu/messages.po | 218 ++-- src/frontend/src/locales/id/messages.po | 218 ++-- src/frontend/src/locales/it/messages.po | 218 ++-- src/frontend/src/locales/ja/messages.po | 218 ++-- src/frontend/src/locales/ko/messages.po | 218 ++-- src/frontend/src/locales/lt/messages.po | 218 ++-- src/frontend/src/locales/lv/messages.po | 218 ++-- src/frontend/src/locales/nl/messages.po | 218 ++-- src/frontend/src/locales/no/messages.po | 218 ++-- src/frontend/src/locales/pl/messages.po | 218 ++-- src/frontend/src/locales/pt/messages.po | 218 ++-- src/frontend/src/locales/pt_BR/messages.po | 218 ++-- src/frontend/src/locales/ro/messages.po | 218 ++-- src/frontend/src/locales/ru/messages.po | 218 ++-- src/frontend/src/locales/sk/messages.po | 218 ++-- src/frontend/src/locales/sl/messages.po | 218 ++-- src/frontend/src/locales/sr/messages.po | 218 ++-- src/frontend/src/locales/sv/messages.po | 218 ++-- src/frontend/src/locales/th/messages.po | 218 ++-- src/frontend/src/locales/tr/messages.po | 218 ++-- src/frontend/src/locales/uk/messages.po | 218 ++-- src/frontend/src/locales/vi/messages.po | 218 ++-- src/frontend/src/locales/zh_Hans/messages.po | 222 ++-- src/frontend/src/locales/zh_Hant/messages.po | 218 ++-- 78 files changed, 22441 insertions(+), 22285 deletions(-) diff --git a/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po index 81e9282eba..9ce15b4574 100644 --- a/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ar/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:40\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Language: ar_SA\n" @@ -104,13 +104,13 @@ msgstr "أدخل التاريخ" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "ملاحظات" @@ -215,7 +215,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "البريد الإلكتروني" @@ -336,51 +336,51 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +687,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -695,24 +695,24 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "" @@ -861,16 +861,16 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "" @@ -964,7 +964,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "" @@ -1099,378 +1099,378 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "" @@ -2148,7 +2148,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2156,18 +2156,18 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "" diff --git a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po index 1459ae58c3..4686550dc3 100644 --- a/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/bg/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:40\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Language: bg_BG\n" @@ -104,13 +104,13 @@ msgstr "Въведи дата" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Бележки" @@ -215,7 +215,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "" @@ -336,51 +336,51 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "Част" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +687,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -695,24 +695,24 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "" @@ -861,16 +861,16 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "" @@ -964,7 +964,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "" @@ -1099,378 +1099,378 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "Потребител" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "" @@ -2148,7 +2148,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2156,18 +2156,18 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Цялостна наличност" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "" diff --git a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po index eb33c056d7..34cf99632c 100644 --- a/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/cs/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:40\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Czech\n" "Language: cs_CZ\n" @@ -104,13 +104,13 @@ msgstr "Zadejte datum" msgid "Invalid decimal value" msgstr "Neplaté desetinné číslo" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Poznámky" @@ -215,7 +215,7 @@ msgstr "Zadaná URL adresa není platný soubor obrázku" msgid "Log in to the app" msgstr "Přihlásit se do aplikace" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "E-mail" @@ -336,51 +336,51 @@ msgstr "Server zaznamenal chybu." msgid "Image" msgstr "Obrazek" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Musí být platné číslo" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Měna" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Vyberte měnu z dostupných možností" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "Toto pole nesmí být nulové." -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Neplatná hodnota" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Vzdálený obraz" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URL souboru vzdáleného obrázku" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Stahování obrázků ze vzdálené URL není povoleno" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Nepodařilo se stáhnout obrázek ze vzdálené adresy URL" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "Neplatný formát typu obsahu" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "Typ obsahu nenalezen" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "Typ obsahu neodpovídá požadované třídě mixinu" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Zahrnout varianty" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Zahrnout varianty" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Zahrnout varianty" msgid "Part" msgstr "Díl" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Kategorie" @@ -669,16 +669,16 @@ msgstr "Vyloučit strom" msgid "Build must be cancelled before it can be deleted" msgstr "Sestavení musí být zrušeno před odstraněním" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Spotřební materiál" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Volitelné" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Sestava" @@ -687,7 +687,7 @@ msgstr "Sestava" msgid "Tracked" msgstr "Sledováno" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Testovatelné" @@ -695,24 +695,24 @@ msgstr "Testovatelné" msgid "Order Outstanding" msgstr "Objednávka nevyřízená" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Přiděleno" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "Spotřebováno" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "Na objednávku" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Výrobní příkaz" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Lokace" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "Výstup" @@ -783,7 +783,7 @@ msgstr "Cílové datum musí být po datu zahájení" msgid "Build Order Reference" msgstr "Referenční číslo výrobního příkazu" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Referenční číslo prodejní objednávky" msgid "Sales Order to which this build is allocated" msgstr "Prodejní objednávka, které je tato stavba přiřazena" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Zdrojové umístění" @@ -861,16 +861,16 @@ msgstr "Stav sestavení" msgid "Build status code" msgstr "Stavový kód sestavení" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Kód dávky" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Dávkový kód pro tento výstup sestavení" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Datum vytvoření" @@ -964,7 +964,7 @@ 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:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "U sledovatelných dílů musí být uvedena sériová čísla" @@ -980,23 +980,23 @@ msgstr "Výstup sestavení je již dokončen" msgid "Build output does not match Build Order" msgstr "Výstup neodpovídá výrobnímu příkazu" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Množství musí být vyšší než nula" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 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:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "Výstup výroby neprošel všemi požadovanými testy" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Výstup sestavy {serial} neprošel všemi požadavky" @@ -1017,10 +1017,10 @@ msgstr "Řádková položka výrobního příkazu" msgid "Build object" msgstr "Vytvořit objekt" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Vytvořit objekt" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Zabrané množství ({q}) nesmí překročit dostupné skladové množst msgid "Stock item is over-allocated" msgstr "Skladová položka je nadměrně zabrána" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Skladové položky" @@ -1099,378 +1099,378 @@ msgstr "Cílová skladová položka" msgid "Build Level" msgstr "Úroveň sestavení" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Název dílu" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Vytvořit výstup" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Vytvořený výstup neodpovídá nadřazenému sestavení" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Výstupní díl se neshoduje s dílem výrobního příkazu" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Výstup sestavení je již dokončen" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Tento stavební výstup není plně přiřazen" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Zadejte množství pro výstup sestavení" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Celé množství požadované pro sledovatelné díly" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Je vyžadována celočíselná hodnota množství, protože kusovník obsahuje sledovatelné díly" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Sériová čísla" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Zadejte sériová čísla pro sestavení výstupů" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Skladové umístění pro výstup sestavy" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Automaticky zvolit sériová čísla" -#: build/serializers.py:378 +#: build/serializers.py:385 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:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Následující sériová čísla již existují nebo jsou neplatná" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Musí být uveden seznam výstupů sestavy" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Skladové umístění pro sešrotované výstupy" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Zahodit alokace" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Vyřadit všechny přidělené zásoby pro vyřazené výstupy" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Důvod vyřazení výstupu(ů) sestavy" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Umístění dokončených výstupů sestavy" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Přijmout neúplné přidělení" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Dokončit výstupy pokud zásoby nebyly plně přiděleny" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Spotřebovat přidělené zásoby" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Spotřebovat všechny zásoby, které již byly přiděleny této sestavě" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Odstranit neúplné výstupy" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Odstranit všechny výstupy sestavy, které nebyly dokončeny" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Není povoleno" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Přijmout jako spotřebované tímto výrobním příkazem" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Uvolnit před dokončením tohoto výrobního příkazu" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Nadměrně přidělené zásoby" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Jak chcete zacházet s extra skladovými položkami přiřazenými k tomuto výrobnímu příkazu" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Některé skladové položky byly nadměrně přiděleny" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Přijmout nepřidělené" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Přijmout, že skladové položky nebyly plně přiřazeny k tomuto výrobnímu příkazu" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "Požadované zásoby nebyly plně přiděleny" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Přijmout neúplné" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Přijmout, že nebyl dokončen požadovaný počet výstupů sestavy" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "Požadované množství sestavy nebylo dokončeno" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "Výrobní příkaz má otevřené podpříkazy" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "Výrobní příkaz musí být ve stavu produkce" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "Výrobní příkaz má neúplné výstupy" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Linka sestavy" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Výstup sestavy" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "Výstup sestavy musí odkazovat na stejnou sestavu" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Řádková položka sestavy" -#: build/serializers.py:926 +#: build/serializers.py:933 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:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "Položka musí být skladem" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Dostupné množství ({q}) překročeno" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "Pro přidělení sledovaných dílů musí být zadán výstup sestavy" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Výstup sestavy nelze zadat pro přidělení nesledovaných dílů" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Položky přidělení musí být poskytnuty" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Skladové místo, odkud se mají díly odebírat (ponechte prázdné, pokud chcete odebírat z libovolného místa)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Vynechat lokace" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Vyloučit skladové položky z tohoto vybraného umístění" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Zaměnitelné zásoby" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Skladové položky na více místech lze používat zaměnitelně" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Náhradní zásoby" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Povolit přidělování náhradních dílů" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Volitelné položky" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Přiřazení volitelných položek kusovníku k objednávce sestavy" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "Všechny položky" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "Nesledované položky" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "Sledované položky" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "Typ položky" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "Vyberte typ položky pro automatické přiřazení" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "Reference v kusovníku" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "ID dílu kusovníku" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "Název dílu kusovníku" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "Informace instalace" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "Sestavení" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Díl dodavatele" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Přidělené množství" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "Reference sestavení" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Název kategorie dílů" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Sledovatelné" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Zděděno" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Povolit varianty" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Položka kusovníku" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "Ve výrobě" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "Naplánováno na sestavení" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Externí zásoby" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Dostupné zásoby" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Dostupné náhradní zásoby" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Dostupná varianta skladu" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "Spotřebované množství přesahuje přidělené množství" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "Nepovinné poznámky ke spotřebě zásob" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "Sestavení položky musí odkazovat na správný výrobní příkaz" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "Duplikovat přidělení položky sestavení" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "Výrobní linka musí odkazovat na správný výrobní příkaz" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "Duplikovat přiřazení výrobní linky" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "Musí být poskytnuta alespoň jedna linka nebo předmět" @@ -1494,7 +1494,7 @@ msgstr "Pozastaveno" msgid "Cancelled" msgstr "Zrušeno" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Opožděný výrobní příkaz" msgid "Build order {bo} is now overdue" msgstr "Objednávka sestavy {bo} je nyní opožděná" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "Je odkaz" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "Je soubor" -#: common/api.py:790 +#: common/api.py:777 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:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "Uživatel nemá oprávnění k odstranění této přílohy" @@ -1550,7 +1550,7 @@ msgstr "Nejsou uvedeny žádné platné kódy měn" msgid "No plugin" msgstr "Žádný plugin" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Popisek kódu projektu" @@ -1628,7 +1628,7 @@ msgstr "Uživatel" msgid "Price break quantity" msgstr "Množství cenové slevy" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Cena" @@ -1652,7 +1652,7 @@ msgstr "Název tohoto webhooku" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktivní" @@ -2126,7 +2126,7 @@ msgstr "Parametry" msgid "Invalid choice for parameter value" msgstr "Neplatná volba pro hodnotu parametru" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "Neplatný typ modelu pro daný parametr" @@ -2140,7 +2140,7 @@ msgstr "ID cílového modelu pro tento parametr" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Šablona" @@ -2148,7 +2148,7 @@ msgstr "Šablona" msgid "Parameter template" msgstr "Šablona parametru" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Data" @@ -2156,18 +2156,18 @@ msgstr "Data" msgid "Parameter Value" msgstr "Hodnota parametru" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Poznámka" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Volitelné pole pro poznámku" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Název souboru" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Typ modelu" @@ -2465,11 +2465,11 @@ msgstr "Typ modelu" 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:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "Uživatel nemá práva vytvářet nebo upravovat parametry pro tento model" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "Tento výběr je uzamčen" @@ -2859,8 +2859,8 @@ msgstr "Díly jsou ve výchozím nastavení šablony" msgid "Parts can be assembled from other components by default" msgstr "Díly lze ve výchozím nastavení sestavit z jiných komponentů" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Komponent" @@ -3988,33 +3988,33 @@ msgstr "Díl je aktivní" msgid "Manufacturer is Active" msgstr "Výrobce je aktivní" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "Díl dodavatele je aktivní" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "Primární díl dodavatele" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "Interní díl je aktivní" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "Dodavatel je aktivní" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Výrobce" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Společnost" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "Má zásoby" @@ -4195,7 +4195,7 @@ msgstr "Doručovací poznámky pro interní použití" msgid "Link to address information (external)" msgstr "Odkaz na informace o adrese (externí)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Výrobce dílu" @@ -4213,12 +4213,12 @@ msgstr "Zvolte díl" msgid "Select manufacturer" msgstr "Vyberte výrobce" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "MPN" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Číslo dílu výrobce" @@ -4242,8 +4242,8 @@ msgstr "Jednotky balení musí být větší než nula" 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:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Dodavatel" msgid "Select supplier" msgstr "Vyberte dodavatele" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Skladová evidence dodavatele" @@ -4290,8 +4290,8 @@ msgstr "základní cena" msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimální poplatek (např. poplatek za skladování)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Balení" @@ -4339,14 +4339,18 @@ msgstr "Výchozí měna používaná pro tohoto dodavatele" msgid "Company Name" msgstr "Jméno společnosti" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "Skladem" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "Množstevní sleva" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "Při exportu dat došlo k chybě" @@ -4451,67 +4455,67 @@ msgstr "ID" msgid "Existing database identifier for the record" msgstr "Existující databázový identifikátor pro tento záznam" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "Sloupec je již napamován k poli databáze" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "Pole je již namapováno do datového sloupce" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "Mapování sloupců musí být připojeno k platné relaci importu" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "Sloupec neexistuje v datovém souboru" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "Pole neexistuje v cílovém modelu" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "Vybrané pole je pouze pro čtení" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "Importovací relace" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Pole" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Sloupec" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "Index řádku" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "Původní data řádku" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "Chyby" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Platné" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "ID je vyžadováno pro aktualizaci existujících záznamů." -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "Žádný záznam nalezen pro zadané ID" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "Poskytnut neplatný formát ID" @@ -4821,7 +4825,7 @@ msgstr "Objednávka" msgid "Order Complete" msgstr "Objednávka byla dokončena" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Interní díl" @@ -4918,7 +4922,7 @@ msgstr "Datum zahájení" msgid "Scheduled start date for this order" msgstr "Plánované datum zahájení této objednávky" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Cílené datum" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Číslo objednávky" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Stav" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Doručeno" msgid "Number of items received" msgstr "Počet přijatých položek" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Nákupní cena" @@ -5211,8 +5215,8 @@ msgstr "Kontroloval(a)" msgid "User who checked this shipment" msgstr "Uživatel, který zkontroloval tuto zásilku" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Doprava" @@ -5277,7 +5281,7 @@ msgstr "Přidělené množství nesmí překročit množství zásob" msgid "Allocation quantity must be greater than zero" msgstr "Zabrané množství musí být větší než nula" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "Množství musí být 1 pro serializovanou skladovou položku" @@ -5393,7 +5397,7 @@ msgstr "Kopírovat extra řádky" msgid "Copy extra line items from the original order" msgstr "Kopírovat extra řádkové položky z původní objednávky" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Kopírovat parametry" @@ -5412,216 +5416,216 @@ msgstr "Řádkové položky" msgid "Completed Lines" msgstr "Dokončené řádky" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "Duplikovat objednávku" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "Specifikujte možnosti pro duplikaci této objednávky" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "Neplatné ID objednávky" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Název dodavatele" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "Objednávku nelze zrušit" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Povolit uzavření objednávky s neúplnými řádkovými položkami" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "Objednávka má nedokončené řádkové položky" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "Objednávka není otevřena" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "Automatická cena" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Automaticky vypočítat nákupní cenu na základě údajů o dílech dodavatele" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Měna nákupní ceny" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "Sloučit položky" -#: order/serializers.py:691 +#: order/serializers.py:728 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:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "Číslo zboží (SKU)" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Interní číslo dílu" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "Interní název dílu" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "Musí být uveden díl dodavatele" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "Objednávka musí být zadána" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "Dodavatel musí odpovídat objednávce" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "Objednávka musí odpovídat dodavateli" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Řádková položka" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Vyberte cílové umístění pro přijaté položky" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Zadat kód šarže pro příchozí skladové položky" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Datum expirace" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "Zadejte datum expirace pro příchozí skladové položky" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Zadat sériová čísla pro příchozí skladové položky" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "Přepsat informace o obalu pro příchozí skladové položky" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "Dodatečná poznámka pro příchozí skladové položky" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Čárový kód" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Naskenovaný čárový kód" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Tento čárový kód se již používá" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Musí být uvedeny řádkové položky" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "Místo určení musí být specifikováno" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "Hodnoty dodaných čárových kódů musí být unikátní" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "Zásilky" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Dokončené zásilky" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "Přidělené řádky" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Měna prodejní ceny" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "Přidělené položky" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "Nebyly poskytnuty žádné údaje o zásilce" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "Řádková položka není přiřazena k této objednávce" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "Množství musí být kladné" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Zadejte sériová čísla pro přidělení" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "Zásilka již byla odeslána" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "Zásilka není spojena s touto objednávkou" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "Nebyla nalezena žádná shoda pro následující sériová čísla" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "Následující sériová čísla nejsou k dispozici" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "Řádkový předmět vratky" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "Řádková položka neodpovídá vratce" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "Řádková položka již byla přijata" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Položky lze přijímat pouze proti objednávkám, které probíhají" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "Množství k vrácení" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Měna ceny řádku" @@ -5837,7 +5841,7 @@ msgstr "Výchozí klíčová slova pro díly v této kategorii" msgid "Icon" msgstr "Ikona" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ikona (volitelná)" @@ -5858,7 +5862,7 @@ msgstr "Výchozí hodnota" msgid "Default Parameter Value" msgstr "Výchozí hodnota parametru" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Díly" @@ -5973,7 +5977,7 @@ msgstr "Klíčová slova dílu pro zlepšení vyhledávání" msgid "Part category" msgstr "Kategorie dílu" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "Interní číslo dílu (IPN)" @@ -6006,7 +6010,7 @@ msgstr "Výchozí expirace" msgid "Expiry time (in days) for stock items of this part" msgstr "Expirační čas (ve dnech) pro zásoby tohoto dílu" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Minimální zásoby na skladě" @@ -6487,355 +6491,355 @@ msgstr "Část vztahu nemůže být vytvořena mezi dílem samotným" msgid "Duplicate relationship already exists" msgstr "Duplicitní vztah již existuje" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "Nadřazená kategorie" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "Nadřazená kategorie dílu" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Podkategorie" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "Výsledky" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "Počet výsledků zaznamenaných podle této šablony" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Nákupní měna této skladové položky" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "Soubor není obrázek" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Původní díl" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Vyberte původní díl, který má být duplikován" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Kopírovat obrázek" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Kopírovat obrázek z původního dílu" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Kopírovat kusovník" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "Kopírovat kusovník z původního dílu" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "Kopírovat data parametrů z původního dílu" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Kopírovat poznámky" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "Kopírovat poznámky z původního dílu" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "Kopírovat testy" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "Kopírovat testovací šablony z původního dílu" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Počáteční skladové množství" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Zadejte počáteční skladové množství pro tuto část. Pokud je množství nulové, není přidáno žádné." -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "Počáteční skladové místo" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "Zadejte počáteční skladové místo pro tento díl" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "Vyberte dodavatele (nebo nechte prázdné pro přeskočení)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "Vyberte výrobce (nebo nechte prázdné pro přeskočení)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Číslo dílu výrobce" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "Vybraná společnost není platný dodavatel" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "Vybraná společnost není platný výrobce" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "Výrobce dílu se stejným MPN již existuje" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "Dodavatelský díl s tímto SKU již existuje" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Název kategorie" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "Budova" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "Množství tohoto dílu, které je v současné době ve výrobě" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Zbývající množství tohoto dílu, které má být postaveno" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Skladové položky" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "Revize" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Celkem skladem" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "Nezařazené zásoby" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "Skladové varianty" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Duplikovat díl" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "Kopírovat počáteční data z jiného dílu" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Počáteční zásoby" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Vytvořit díl s počátečním množstvím zásob" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Informace o dodavateli" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "Přidat počáteční informace dodavatele pro tento díl" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Kopírovat parametry kategorie" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "Kopírovat šablony parametrů z vybrané kategorie dilu" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Stávající obrázek" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "Název souboru existujícího obrázku dílu" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "Obrázek neexistuje" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Schválit celý kusovník" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Lze postavit" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "Vyžadováno pro výrobní objednávku" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "Přířazeno výrobním objednávkám" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "Vyžadováno pro prodejní objednávky" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "Přiřazeno prodejním objednávkám" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "IPN dílu" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "Popis dílu" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "Vyberte díl u kterého chce vytvořit informace inventury (i pro jeho varianty)" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "Vyberte kategorii pro obsažení všech dílů v dané kategorii (a podkategoriích)" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "Vyberte lokaci pro obsažení všech dílů se zásobami na dané lokaci (včetně pod-lokací)" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "Generovat vstupy inventury" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "Uložit vstupy inventury pro vybrané díly" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "Generovat report" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "Generovat report inventury pro vybrané díly" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Minimální cena" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Přespat vypočítanou hodnotu pro minimální cenu" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Měna minimální ceny" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Maximální cena" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "Přespat vypočítanou hodnotu pro maximální cenu" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Měna maximální ceny" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Aktualizovat" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "Aktualizovat cenu pro díl" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Nelze převést z poskytnutých měn na {default_currency}" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "Minimální cena musí být vyšší než maximální cena" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "Maximální cena nesmí být nížší než minimální cena" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "Množství musí být větší nebo rovno nule" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "Vybrat nadřazenou sestavu" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "Vyberte komponentu dílu" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "Vyberte díl pro kopírování kusovníku z" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Odstranit existující data" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "Odstranit existující položky kusovníku před kopírováním" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Zahrnout zděděné" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "Zahrnout položky kusovníku které jsou zdědené z šablonových dílů" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Přeskočit neplatné řádky" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Povolte tuto možnost pro přeskočení neplatných řádků" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Kopírovat náhradní díly" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopírovat náhradní díly při duplikaci položek kusovníku" @@ -8288,7 +8292,7 @@ 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:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Instalované položky" @@ -8361,7 +8365,7 @@ msgstr "Filtrovat dle nejvyšší lokace" msgid "Include sub-locations in filtered results" msgstr "Zahrnout pod-lokace ve filtrovaných výsledcích" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "Nadřazená místo" @@ -8445,7 +8449,7 @@ msgstr "Datum expirace ped" msgid "Expiry date after" msgstr "Datum expirace po" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "Zastaralé" @@ -8579,7 +8583,7 @@ msgstr "Díl musí být zadán" msgid "Stock items cannot be located into structural stock locations!" msgstr "Skladové položky nelze umístit do strukturálních skladových umístění!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "Nelze vytvořit skladovou položku pro virtuální díl" @@ -8624,7 +8628,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:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "Balení, ve kterém je tato skladová položka uložena" @@ -8640,7 +8644,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:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Kód šarže pro tuto skladovou položku" @@ -8753,7 +8757,7 @@ msgstr "Skladová položka je ve výrobě" msgid "Serialized stock cannot be merged" msgstr "Serializované zásoby nelze sloučit" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "Duplicitní skladové položky" @@ -8877,7 +8881,7 @@ msgstr "Vyberte díl, pro který se má vygenerovat sériové číslo" msgid "Quantity of serial numbers to generate" msgstr "Množství sériových čísel k vygenerování" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "Testovací šablona pro tento výsledek" @@ -8901,222 +8905,222 @@ msgstr "Nadřazená položka" msgid "Parent stock item" msgstr "Nadřazená skladová položka" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Použít velikost balení při přidání: definované množství je počet v balení" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "Použít velikost balení" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "Zadejte sériová čísla pro nové položky" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "Číslo dílu dodavatele" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "Expirováno" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Podřízené položky" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "Sledování položky" -#: stock/serializers.py:654 +#: stock/serializers.py:668 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:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "Zadejte počet skladových položek k serializaci" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "Nebyla poskytnuta žádná skladová položka" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Množství nesmí překročit dostupné skladové množství ({q})" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "Cílové skladové umístění" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "K tomuto dílu nelze přiřadit sériová čísla" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Sériová čísla již existují" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "Vyberte skladovou položku k instalaci" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "Množství k instalaci" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "Zadejte množství položek k instalaci" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "Přidat poznámku o transakci (volitelné)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "Množství k instalaci musí být alespoň 1" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "Skladová položka je nedostupná" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "Vybraný díl není v kusovníku" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "Množství k instalaci nesmí překročit dostupné množství" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "Cílové umístění pro odinstalovanou položku" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "Vyberte díl pro převedení do skladové položky" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "Vybraný díl není platnou volbou pro převod" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Nelze převést skladovou položku s přiřazeným dílem dodavetele" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "Stavový kód skladové položky" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "Vybrat skladové položky pro změnu stavu" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "Nejsou vybrány žádné skladové položky" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Podumístění" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "Nadřazené skladové umístění" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "Díl musí být prodejný" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "Položka je přidělena prodejní objednávce" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "Položka je přidělena výrobnímu příkazu" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "Zákazník, kterému mají být přiděleny skladové položky" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "Vybraná společnost není zákazník" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Poznámky ke skladové položce" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "Musí být poskytnut seznam skladových položek" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Poznámky ke sloučení skladových položek" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Povolit neodpovídající dodavatele" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 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:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Povolit neodpovídající stav" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 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:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "Musí být poskytnuty alespoň dvě skladové položky" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "Beze změny" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Hodnota primárního klíče skladové položky" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "Skladová položka není skladem" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "Skladová položka je již na skladě" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "Množství nesmí být záporné" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Poznámky ke skladovací transakci" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "Sloučit do existující zásoby" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "Sloučit vrácené položky do existujích položek, pokud je to možné" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "Další sériové číslo" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "Předchozí sériové číslo" @@ -9598,99 +9602,99 @@ msgstr "Prodejní objednávky" msgid "Return Orders" msgstr "Návratové objednávky" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Uživatelské jméno" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Křestní jméno" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Křestní jméno uživatele" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Příjmení" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Příjmení uživatele" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Emailová adresa uživatele" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Super-uživatel" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Je tento uživatel superuživatel" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Je tento uživatelský účet aktivní" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "Pouze superuživatel může toto pole upravit" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "Heslo" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "Heslo uživatele" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "Přepsat varování" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "Přepsat varování o pravidlech pro heslo" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "Nemáte oprávnění k vytváření uživatelů" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Váš účet byl vytvořen." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Pro přihlášení použijte funkci obnovení hesla" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Vítejte v InvenTree" diff --git a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po index 8dd82cb034..3c2126264c 100644 --- a/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/da/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:40\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Danish\n" "Language: da_DK\n" @@ -104,13 +104,13 @@ msgstr "Angiv dato" msgid "Invalid decimal value" msgstr "Ugyldig decimalværdi" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Bemærkninger" @@ -215,7 +215,7 @@ msgstr "Angivet URL er ikke en gyldig billedfil" msgid "Log in to the app" msgstr "Log ind på appen" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "E-mail" @@ -336,51 +336,51 @@ msgstr "En fejl blev logget af serveren." msgid "Image" msgstr "Billede" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Skal være et gyldigt tal" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Vælg valuta fra tilgængelige muligheder" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "Dette felt kan ikke være tomt." -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Ugyldig værdi" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Eksternt billede" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URL til ekstern billedfil" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Download af billeder fra ekstern URL er ikke aktiveret" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Kategori" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Produktion skal anulleres, før den kan slettes" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Forbrugsvare" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Valgfri" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +687,7 @@ msgstr "" msgid "Tracked" msgstr "Sporet" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -695,24 +695,24 @@ msgstr "" msgid "Order Outstanding" msgstr "Ordre Udestående" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Allokeret" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Produktionsordre" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Lokation" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "Produktionsordre reference" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Salgsordrereference" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Kilde Lokation" @@ -861,16 +861,16 @@ msgstr "Produktions Status" msgid "Build status code" msgstr "Produktions statuskode" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Batch Kode" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Batch kode til dette produktions output" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Oprettelsesdato" @@ -964,7 +964,7 @@ msgstr "Bygningsordre {build} er fuldført" msgid "A build order has been completed" msgstr "En byggeordre er fuldført" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Lagervarer" @@ -1099,378 +1099,378 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Del Navn" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Indtast serienumre for bygge output" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Automatisk alloker serienumre" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienumre findes allerede eller er ugyldige" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Ikke tilladt" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Accepter som forbrugt af denne byggeordre" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Accepter Ikke tildelt" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepter at lagervarer ikke er fuldt tildelt til denne byggeordre" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Accepter ufuldført" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Bygge linje" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "Varen skal være på lager" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgængeligt antal ({q}) overskredet" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "Stykliste Reference" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "Stykliste del ID" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "Stykliste Del Navn" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "Byg" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Leverandør Del" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Tildelt Antal" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Stykliste Del" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "I Produktion" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Ekstern Lager" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Tilgængelig Lager" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "På Hold" msgid "Cancelled" msgstr "Annulleret" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "Ingen plugin" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Projekt Kode Label" @@ -1628,7 +1628,7 @@ msgstr "Bruger" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Pris" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktiv" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "" @@ -2148,7 +2148,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2156,18 +2156,18 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Filnavn" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Fornavn på brugeren" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Efternavn" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Efternavn på brugeren" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Email adresse på brugeren" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Superbruger" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Er denne bruger en superbruger" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Er denne brugerkonto aktiv" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "Kun en superbruger kan justere dette felt" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "Adgangskode" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "Brugers adgangskode" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "Tilsidesæt advarsel" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "Tilsidesæt advarslen om adgangskode regler" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "Du har ikke tilladelse til at oprette brugere" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Din konto er oprettet." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Benyt funktionen til nulstilling af adgangskode til at logge ind" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Velkommen til InvenTree" diff --git a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po index ad951bf9b0..2e4f4886f2 100644 --- a/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/de/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: German\n" "Language: de_DE\n" @@ -104,13 +104,13 @@ msgstr "Datum eingeben" msgid "Invalid decimal value" msgstr "Ungültiger Dezimalwert" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Notizen" @@ -215,7 +215,7 @@ msgstr "Angegebene URL ist kein gültiges Bild" msgid "Log in to the app" msgstr "Bei der App anmelden" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "Email" @@ -336,51 +336,51 @@ msgstr "Ein Fehler wurde vom Server protokolliert." msgid "Image" msgstr "Bild" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Muss eine gültige Nummer sein" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Währung" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Währung aus verfügbaren Optionen auswählen" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "Dieses Feld darf nicht leer sein." -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Ungültiger Wert" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Grafiken aus externen Quellen" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URL der Remote-Bilddatei" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Das Herunterladen von Bildern von Remote-URLs ist nicht aktiviert" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Fehler beim Herunterladen des Bildes von entfernter URL" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "Content type stimmt nicht mit der benötigten Mixin-Klasse überein" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Varianten einschließen" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Varianten einschließen" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Varianten einschließen" msgid "Part" msgstr "Teil" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Kategorie" @@ -669,16 +669,16 @@ msgstr "Baum ausschließen" msgid "Build must be cancelled before it can be deleted" msgstr "Bauauftrag muss abgebrochen werden, bevor er gelöscht werden kann" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Verbrauchsmaterial" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Optional" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Baugruppe" @@ -687,7 +687,7 @@ msgstr "Baugruppe" msgid "Tracked" msgstr "Nachverfolgt" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Prüfbar" @@ -695,24 +695,24 @@ msgstr "Prüfbar" msgid "Order Outstanding" msgstr "Offene Bestellung" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Zugeordnet" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "Verbraucht" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "Bestellt" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Bauauftrag" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Lagerort" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "Bauprodukt" @@ -783,7 +783,7 @@ msgstr "Zieldatum muss nach dem Startdatum liegen" msgid "Build Order Reference" msgstr "Bauauftragsreferenz" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Auftrag Referenz" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Quell-Lagerort" @@ -861,16 +861,16 @@ msgstr "Bauauftrags-Status" msgid "Build status code" msgstr "Bau-Statuscode" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Losnummer" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Losnummer für dieses Endprodukt" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Erstelldatum" @@ -964,7 +964,7 @@ msgstr "Bauauftrag {build} wurde fertiggestellt" msgid "A build order has been completed" msgstr "Ein Bauauftrag wurde fertiggestellt" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "Seriennummern müssen für nachverfolgbare Teile angegeben werden" @@ -980,23 +980,23 @@ msgstr "Endprodukt bereits hergstellt" msgid "Build output does not match Build Order" msgstr "Endprodukt stimmt nicht mit dem Bauauftrag überein" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Anzahl muss größer Null sein" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "Menge kann nicht größer als die Ausgangsmenge sein" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Build Ausgabe {serial} hat nicht alle erforderlichen Tests bestanden" @@ -1017,10 +1017,10 @@ msgstr "Bauauftragsposition" msgid "Build object" msgstr "Objekt bauen" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Objekt bauen" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Zugewiesene Menge ({q}) darf nicht verfügbare Menge ({a}) übersteigen" msgid "Stock item is over-allocated" msgstr "BestandObjekt ist zu oft zugewiesen" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Lagerartikel" @@ -1099,378 +1099,378 @@ msgstr "Ziel-Lagerartikel" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Name des Teils" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Endprodukt" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Endprodukt stimmt nicht mit übergeordnetem Bauauftrag überein" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Endprodukt entspricht nicht dem Teil des Bauauftrags" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Dieses Endprodukt wurde bereits fertiggestellt" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Dieses Endprodukt ist nicht vollständig zugewiesen" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Menge der Endprodukte angeben" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Ganzzahl für verfolgbare Teile erforderlich" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ganzzahl erforderlich da die Stückliste nachverfolgbare Teile enthält" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Seriennummer" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Seriennummer für dieses Endprodukt eingeben" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Lagerort für Bauprodukt" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Seriennummern automatisch zuweisen" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "Benötigte Lagerartikel automatisch mit passenden Seriennummern zuweisen" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Die folgenden Seriennummern existieren bereits oder sind ungültig" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Eine Liste von Endprodukten muss angegeben werden" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Lagerort für ausgemusterte Ausgänge" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Zuteilungen verwerfen" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Bestandszuteilung für ausgemusterte Endprodukte verwerfen" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Grund für das Verwerfen des Bauauftrages/der Bauaufträge" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Lagerort für fertige Endprodukte" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Unvollständige Zuweisung akzeptieren" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Endprodukte fertigstellen, auch wenn Bestand nicht fertig zugewiesen wurde" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Zugewiesen Bestand verbrauchen" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Verbrauche alle Bestände, die diesem Bauauftrag bereits zugewiesen wurden" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Unfertige Endprodukte entfernen" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Lösche alle noch nicht abgeschlossenen Endprodukte" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Nicht erlaubt" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Als von diesem Bauauftrag verbraucht setzen" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Bestandszuordnung vor dem Abschluss dieses Bauauftrags freigeben" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Überbelegter Lagerbestand" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Wie sollen zusätzliche Lagerbestandteile, die dem Bauauftrag zugewiesen wurden, behandelt werden" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Der Bestand einiger Lagerartikel ist überbelegt" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Nicht zugewiesene akzeptieren" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Akzeptieren, dass Lagerartikel diesem Bauauftrag nicht vollständig zugewiesen wurden" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "Benötigter Bestand wurde nicht vollständig zugewiesen" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Unvollständig Zuweisung akzeptieren" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Akzeptieren, dass die erforderliche Anzahl der Bauaufträge nicht abgeschlossen ist" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "Benötigte Teil-Anzahl wurde noch nicht fertiggestellt" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "Bauauftrag hat unvollständige Aufbauten" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Bauauftragsposition" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Endprodukt" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "Endprodukt muss auf den gleichen Bauauftrag verweisen" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Bauauftragspositionsartikel" -#: build/serializers.py:926 +#: build/serializers.py:933 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:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "Teil muss auf Lager sein" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Verfügbare Menge ({q}) überschritten" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "Für Zuweisung von verfolgten Teilen muss ein Endprodukt angegeben sein" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Endprodukt kann bei Zuweisung nicht-verfolgter Teile nicht angegeben werden" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Zuweisungen müssen angegeben werden" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lagerort, von dem Teile bezogen werden sollen (leer lassen, um sie von jedem Lagerort zu nehmen)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Lagerort ausschließen" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Lagerartikel vom ausgewählten Ort ausschließen" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Wechselbares Lagerbestand" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagerartikel an mehreren Standorten können austauschbar verwendet werden" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Ersatzbestand" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Zuordnung von Ersatzteilen erlauben" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Optionale Positionen" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Optionale Stücklisten-Positionen dem Bauauftrag hinzufügen" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "Alle Artikel" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "Unverfolgte Artikel" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "Verfolgte Artikel" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "Item-Typ" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "Elementtyp zur automatischen Zuweisung auswählen" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "Stücklisten-Referenz" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "Stückliste Teil-ID" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "Stückliste Teil-Name" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "Zusammenbau" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Zuliefererteil" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Zugewiesene Menge" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Teilkategorienname" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Nachverfolgbar" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Vererbt" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Varianten zulassen" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Stücklisten-Position" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "In Produktion" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "Geplant zum Erstellen" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Externes Lager" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Verfügbarer Bestand" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Verfügbares Ersatzmaterial" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Verfügbarer Varianten Lagerbestand" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "Verbrauchsmenge überschreitet die zugewiesene Menge" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "Optionale Notizen für den Bestandsverbrauch" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "Dupliziere Bauauftrag Artikelzuordnung" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "Mindestens ein Element oder eine Zeile muss angegeben werden" @@ -1494,7 +1494,7 @@ msgstr "Pausiert" msgid "Cancelled" msgstr "Storniert" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Überfälliger Bauauftrag" msgid "Build order {bo} is now overdue" msgstr "Bauauftrag {bo} ist jetzt überfällig" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "Link" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "Datei" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "Benutzer hat keine Berechtigung zum Löschen der Anhänge" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "Benutzer hat keine Berechtigung zum Löschen des Anhangs" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "Kein Plugin" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "Benutzer" msgid "Price break quantity" msgstr "Preisstaffelungs Anzahl" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Preis" @@ -1652,7 +1652,7 @@ msgstr "Name für diesen Webhook" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktiv" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "Ungültige Auswahl für Parameterwert" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Vorlage" @@ -2148,7 +2148,7 @@ msgstr "Vorlage" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Wert" @@ -2156,18 +2156,18 @@ msgstr "Wert" msgid "Parameter Value" msgstr "Parameter Wert" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Notiz" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Optionales Notizfeld" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Dateiname" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Modelltyp" @@ -2465,11 +2465,11 @@ msgstr "Modelltyp" 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:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "Teile sind standardmäßig Vorlagen" msgid "Parts can be assembled from other components by default" msgstr "Teile können standardmäßig aus anderen Teilen angefertigt werden" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Komponente" @@ -3988,33 +3988,33 @@ msgstr "Teil ist aktiv" msgid "Manufacturer is Active" msgstr "Hersteller ist aktiv" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "Lieferantenteil ist aktiv" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "Internes Teil ist aktiv" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "Lieferant ist aktiv" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Hersteller" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Firma" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "Versandnotizen für interne Verwendung" msgid "Link to address information (external)" msgstr "Link zu Adressinformationen (extern)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Herstellerteil" @@ -4213,12 +4213,12 @@ msgstr "Teil auswählen" msgid "Select manufacturer" msgstr "Hersteller auswählen" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "MPN" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Hersteller-Teilenummer" @@ -4242,8 +4242,8 @@ msgstr "Packeinheiten müssen größer als Null sein" msgid "Linked manufacturer part must reference the same base part" msgstr "Verlinktes Herstellerteil muss dasselbe Basisteil referenzieren" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Zulieferer" msgid "Select supplier" msgstr "Zulieferer auswählen" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Lagerbestandseinheit (SKU) des Zulieferers" @@ -4290,8 +4290,8 @@ msgstr "Basiskosten" msgid "Minimum charge (e.g. stocking fee)" msgstr "Mindestpreis" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Verpackungen" @@ -4339,14 +4339,18 @@ msgstr "Standard-Währung für diesen Zulieferer" msgid "Company Name" msgstr "Firmenname" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "Auf Lager" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Feld" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Spalte" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "Fehler" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Gültig" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "Bestellung" msgid "Order Complete" msgstr "Bestellung abgeschlossen" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Internes Teil" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Zieldatum" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Bestell-Referenz" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Status" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Empfangen" msgid "Number of items received" msgstr "Empfangene Objekt-Anzahl" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Preis" @@ -5211,8 +5215,8 @@ msgstr "Kontrolliert von" msgid "User who checked this shipment" msgstr "Benutzer, der diese Sendung kontrolliert hat" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Sendung" @@ -5277,7 +5281,7 @@ msgstr "Die zugeordnete Anzahl darf nicht die verfügbare Anzahl überschreiten" msgid "Allocation quantity must be greater than zero" msgstr "Reserviermenge muss größer null sein" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "Anzahl für serialisierte Lagerartikel muss 1 sein" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Parameter kopieren" @@ -5412,216 +5416,216 @@ msgstr "Positionen" msgid "Completed Lines" msgstr "Abgeschlossene Positionen" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Lieferant" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "Bestellung kann nicht verworfen werden" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Erlaube das Schließen des Auftrags mit unvollständigen Positionen" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "Auftrag hat unvollständige Positionen" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "Der Auftrag ist nicht offen" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "Automatische Preisgestaltung" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Kaufpreis automatisch basierend auf Lieferantenbestandsdaten berechnen" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Kaufpreiswährung" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "Elemente zusammenfügen" -#: order/serializers.py:691 +#: order/serializers.py:728 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:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "Lieferanten-Teilenummer" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Interne Teilenummer" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "Zuliefererteil muss ausgewählt werden" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "Bestellung muss angegeben sein" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "Lieferant muss mit der Bestellung übereinstimmen" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "Die Bestellung muss mit dem Lieferant übereinstimmen" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Position" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Zielort für empfangene Teile auswählen" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Losnummer für eingehende Lagerartikel" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Ablaufdatum" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Seriennummern für eingehende Lagerartikel" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Barcode" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Gescannter Barcode" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Barcode ist bereits in Verwendung" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Positionen müssen angegeben werden" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "Ziel-Lagerort muss angegeben werden" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "Barcode muss eindeutig sein" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Abgeschlossene Sendungen" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Verkaufspreis-Währung" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "Keine Sendungsdetails angegeben" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "Position ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "Anzahl muss positiv sein" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Seriennummern zum Zuweisen eingeben" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "Sendung wurde bereits versandt" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "Sendung ist nicht diesem Auftrag zugeordnet" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "Folgende Serienummern konnten nicht gefunden werden" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "Artikel der Bestellzeile zurücksenden" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "Artikel entspricht nicht der Rücksendeschrift" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "Artikel wurde bereits erhalten" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Artikel können nur bei laufenden Bestellungen empfangen werden" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Verkaufspreis-Währung" @@ -5837,7 +5841,7 @@ msgstr "Standard-Stichworte für Teile dieser Kategorie" msgid "Icon" msgstr "Symbol" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Symbol (optional)" @@ -5858,7 +5862,7 @@ msgstr "Standard-Wert" msgid "Default Parameter Value" msgstr "Standard Parameter Wert" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Teile" @@ -5973,7 +5977,7 @@ msgstr "Schlüsselworte um die Sichtbarkeit in Suchergebnissen zu verbessern" msgid "Part category" msgstr "Teile-Kategorie" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN (Interne Produktnummer)" @@ -6006,7 +6010,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:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Minimaler Bestand" @@ -6487,355 +6491,355 @@ msgstr "Teil-Beziehung kann nicht zwischen einem Teil und sich selbst erstellt w msgid "Duplicate relationship already exists" msgstr "Doppelte Beziehung existiert bereits" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "Übergeordnete Kategorie" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "Übergeordnete Teilkategorie" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Unter-Kategorien" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "Ergebnisse" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "Anzahl der Ergebnisse, die in dieser Vorlage aufgezeichnet wurden" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Kaufwährung dieses Lagerartikels" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Originalteil" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Originalteil zum Duplizieren auswählen" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Bild kopieren" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Bild vom Originalteil kopieren" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Stückliste kopieren" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "Stückliste vom Originalteil kopieren" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "Parameterdaten vom Originalteil kopieren" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Anmerkungen kopieren" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "Notizen aus Originalteil kopieren" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Start-Bestandsmenge" -#: part/serializers.py:448 +#: part/serializers.py:451 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:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "Initialer Lagerort" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "Lagerstandort für dieses Teil angeben" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "Lieferant auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "Hersteller auswählen (oder leer lassen, um zu überspringen)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Hersteller-Teilenummer" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "Ausgewählte Firma ist kein gültiger Lieferant" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "Ausgewählte Firma ist kein gültiger Hersteller" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "Herstellerteil mit dieser MPN existiert bereits" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "Lieferantenteil mit dieser SKU existiert bereits" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Kategoriename" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "Im Bau" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Lagerartikel" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Gesamtbestand" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "Nicht zugewiesenes Lager" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "Alternatives Lager" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Teil duplizieren" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "Initiale Daten von anderem Teil kopieren" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Initialer Lagerbestand" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Erstelle Teil mit Ausgangsbestand" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Lieferanteninformationen" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "Lieferanteninformationen zu diesem Teil hinzufügen" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Kategorieparameter kopieren" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "Parametervorlagen aus der ausgewählten Teilkategorie kopieren" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Vorhandenes Bild" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "Dateiname eines vorhandenen Teilbildes" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "Bilddatei existiert nicht" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Gesamte Stückliste validieren" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Herstellbar" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Niedrigster Preis" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Berechneten Wert für Mindestpreis überschreiben" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Mindestpreis Währung" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Höchster Preis" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "Berechneten Wert für maximalen Preis überschreiben" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Maximalpreis Währung" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Aktualisieren" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "Preis für dieses Teil aktualisieren" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, 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:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "Mindestpreis darf nicht größer als der Maximalpreis sein" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "Der Maximalpreis darf nicht kleiner als der Mindestpreis sein" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "Teil auswählen, von dem Stückliste kopiert wird" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Bestehende Daten entfernen" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "Bestehende Stücklisten-Positionen vor dem Kopieren entfernen" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Vererbtes einschließen" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "Stücklisten-Positionen einbeziehen, die von Vorlage-Teilen geerbt werden" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Ungültige Zeilen überspringen" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Aktiviere diese Option, um ungültige Zeilen zu überspringen" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Ersatzteile kopieren" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "Ersatzteile beim Duplizieren von Stücklisten-Positionen kopieren" @@ -8288,7 +8292,7 @@ msgstr "Lagerartikel Test-Bericht" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Verbaute Objekte" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "Unterorte in gefilterte Ergebnisse einbeziehen" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "Übergeordneter Ort" @@ -8445,7 +8449,7 @@ msgstr "Gültigkeitsdauer vor" msgid "Expiry date after" msgstr "Gültigkeitsdauer nach" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "überfällig" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagerartikel können nicht in strukturelle Lagerorte abgelegt werden!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "Für virtuelle Teile können keine Lagerartikel erstellt werden" @@ -8624,7 +8628,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:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "Verpackung, in der dieser Lagerartikel gelagert ist" @@ -8640,7 +8644,7 @@ msgstr "Ist dieses Teil in einem anderen verbaut?" msgid "Serial number for this item" msgstr "Seriennummer für dieses Teil" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Losnummer für diesen Lagerartikel" @@ -8753,7 +8757,7 @@ msgstr "Lagerartikel wird aktuell produziert" msgid "Serialized stock cannot be merged" msgstr "Nachverfolgbare Lagerartikel können nicht zusammengeführt werden" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "Artikel duplizeren" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "Testvorlage für dieses Ergebnis" @@ -8901,222 +8905,222 @@ msgstr "Elternposition" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 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:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "Seriennummern für neue Teile eingeben" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "abgelaufen" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Untergeordnete Objekte" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "Einkaufspreis dieses Lagerartikels, pro Einheit oder Verpackungseinheit" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "Anzahl der zu serialisierenden Lagerartikel eingeben" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, 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:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "Ziel-Bestand" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "Seriennummern können diesem Teil nicht zugewiesen werden" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Seriennummern existieren bereits" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "Lagerartikel für Installation auswählen" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "Zu installierende Menge" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "Anzahl der zu verwendenden Artikel eingeben" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr " Transaktionsnotizen hinzufügen (optional)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "Die zu verwendende Menge muss mindestens 1 sein" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "Lagerartikel ist nicht verfügbar" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "Ausgewähltes Teil ist nicht in der Stückliste" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "Die zu verwendende Menge darf die verfügbare Menge nicht überschreiten" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "Ziel Lagerort für unverbautes Objekt" -#: stock/serializers.py:942 +#: stock/serializers.py:956 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:955 +#: stock/serializers.py:969 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:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Lagerartikel konnte nicht mit Zulieferteil zugewiesen werden" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "Lagerartikel Status-Code" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "Lagerartikel auswählen, um den Status zu ändern" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "Keine Lagerartikel ausgewählt" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Unter-Lagerorte" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "Übergeordneter Lagerort" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "Teil muss verkaufbar sein" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "Artikel ist einem Kundenauftrag zugeordnet" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "Artikel ist einem Fertigungsauftrag zugeordnet" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "Kunde zum Zuweisen von Lagerartikel" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "Ausgewählte Firma ist kein Kunde" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Notizen zur Lagerzuordnung" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "Eine Liste der Lagerbestände muss angegeben werden" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Notizen zur Lagerartikelzusammenführung" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Unterschiedliche Lieferanten erlauben" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Lieferanten erlauben" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Unterschiedliche Status erlauben" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "Zusammenführen von Lagerartikeln mit unterschiedlichen Status-Codes erlauben" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "Mindestens zwei Lagerartikel müssen angegeben werden" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "Keine Änderung" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Primärschlüssel Lagerelement" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Bestandsbewegungsnotizen" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "Nächste Seriennummer" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "Vorherige Seriennummer" @@ -9598,99 +9602,99 @@ msgstr "Aufträge" msgid "Return Orders" msgstr "Rücksendeaufträge" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Benutzername" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Vorname" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Vorname des Benutzers" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Nachname" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Nachname des Benutzers" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "E-Mailadresse des Benutzers" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Administrator" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Ist dieser Benutzer ein Administrator" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Ist dieses Benutzerkonto aktiv" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "Passwort" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Ihr Konto wurde erstellt." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Bitte benutzen Sie die Passwort-zurücksetzen-Funktion, um sich anzumelden" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Willkommen bei InvenTree" diff --git a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po index 8aa6cceb62..b76493f493 100644 --- a/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/el/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Greek\n" "Language: el_GR\n" @@ -104,13 +104,13 @@ msgstr "Εισάγετε ημερομηνία" msgid "Invalid decimal value" msgstr "Μη έγκυρη δεκαδική τιμή" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Σημειώσεις" @@ -215,7 +215,7 @@ msgstr "Το URL δεν είναι έγκυρο αρχείο εικόνας" msgid "Log in to the app" msgstr "Σύνδεση στην εφαρμογή" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "Email" @@ -336,51 +336,51 @@ msgstr "Ένα σφάλμα έχει καταγραφεί από το διακο msgid "Image" msgstr "Εικόνα" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Πρέπει να είναι αριθμός" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Νόμισμα" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Επιλέξτε νόμισμα από τις διαθέσιμες επιλογές" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Μη έγκυρη τιμή" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Απομακρυσμένες Εικόνες" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "Διεύθυνση URL του αρχείου απομακρυσμένης εικόνας" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Η λήψη εικόνων από απομακρυσμένο URL δεν είναι ενεργοποιημένη" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Αποτυχία λήψης εικόνας από απομακρυσμένο URL" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Συμπερίληψη παραλλαγών" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Συμπερίληψη παραλλαγών" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Συμπερίληψη παραλλαγών" msgid "Part" msgstr "Εξάρτημα" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Κατηγορία" @@ -669,16 +669,16 @@ msgstr "Εξαίρεση δέντρου" msgid "Build must be cancelled before it can be deleted" msgstr "Η έκδοση πρέπει να ακυρωθεί πριν διαγραφεί" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Αναλώσιμο" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Προαιρετικό" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Συναρμολόγηση" @@ -687,7 +687,7 @@ msgstr "Συναρμολόγηση" msgid "Tracked" msgstr "Υπό παρακολούθηση" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Υπό δοκιμή" @@ -695,24 +695,24 @@ msgstr "Υπό δοκιμή" msgid "Order Outstanding" msgstr "Εκκρεμής παραγγελία" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Κατανεμημένο" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "Καταναλωμένο" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "Σε παραγγελία" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Σειρά Κατασκευής" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Τοποθεσία" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "Έξοδος" @@ -783,7 +783,7 @@ msgstr "Η ημερομηνία στόχος πρέπει να είναι μετ msgid "Build Order Reference" msgstr "Αναφορά Παραγγελίας Κατασκευής" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Κωδικός Παραγγελίας Πωλήσεων" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Τοποθεσία Προέλευσης" @@ -861,16 +861,16 @@ msgstr "Κατάσταση Κατασκευής" msgid "Build status code" msgstr "Κωδικός κατάστασης κατασκευής" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Κωδικός Παρτίδας" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Κωδικός παρτίδας για αυτήν την κατασκευή" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Ημερομηνία Δημιουργίας" @@ -964,7 +964,7 @@ msgstr "Η παραγγελία κατασκευής {build} έχει ολοκλ msgid "A build order has been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "Πρέπει να δοθούν σειριακοί αριθμοί για τα ανιχνεύσιμα Προϊόντα" @@ -980,23 +980,23 @@ msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθ msgid "Build output does not match Build Order" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "Η ποσότητα δεν μπορεί να είναι μεγαλύτερη από την παραγόμενη ποσότητα" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "Η έξοδος κατασκευής δεν έχει περάσει όλες τις απαιτούμενες δοκιμές" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Το προϊόν κατασκευής {serial} δεν έχει περάσει όλες τις απαιτούμενες δοκιμές" @@ -1017,10 +1017,10 @@ msgstr "Γραμμή εντολής κατασκευής" msgid "Build object" msgstr "Αντικείμενο κατασκευής" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Αντικείμενο κατασκευής" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Η καταχωρημένη ποσότητα ({q}) δεν πρέπει msgid "Stock item is over-allocated" msgstr "Στοιχείο αποθέματος είναι υπερ-κατανεμημένο" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Στοιχείο Αποθέματος" @@ -1099,378 +1099,378 @@ msgstr "Αποθήκη προορισμού" msgid "Build Level" msgstr "Επίπεδο κατασκευής" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Όνομα Προϊόντος" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Κατασκευή Εξόδου" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Η έξοδος κατασκευής δεν ταιριάζει με την παραγγελία κατασκευής" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Το εξερχόμενο μέρος δεν ταιριάζει με το μέρος BuildOrder" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Η παραγγελία κατασκευής έχει ολοκληρωθεί" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Αυτή η έξοδος κατασκευής δεν έχει εκχωρηθεί πλήρως" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται για ανιχνεύσιμα μέρη" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ακέραιη ποσότητα που απαιτείται, καθώς ο λογαριασμός των υλικών περιέχει ανιχνεύσιμα μέρη" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Σειριακοί αριθμοί" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Εισάγετε ποσότητα για την έξοδο κατασκευής" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Τοποθεσία αποθέματος για την έξοδο κατασκευής" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Αυτόματη Κατανομή Σειριακών Αριθμών" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "Αυτόματη κατανομή των απαιτούμενων στοιχείων με τους αντίστοιχους σειριακούς αριθμούς" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Οι παρακάτω σειριακοί αριθμοί υπάρχουν ήδη ή δεν είναι έγκυροι" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Πρέπει να παρέχεται μια λίστα με τα αποτελέσματα κατασκευής" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Θέση αποθέματος για απορριφθείσες παραγωγές" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Απόρριψη Κατανομών" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Απορρίψτε τυχόν κατανομές αποθέματος για παραγωγές που έχουν απορριφθεί" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Αιτία απόρριψης προϊόντων κατασκευής" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Τοποθεσία για ολοκληρωμένα προϊόντα κατασκευής" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Αποδοχή Ελλιπούς Δέσμευσης" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Ολοκλήρωσε τα προϊόντα εάν το απόθεμα δεν έχει δεσμευτεί πλήρως" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Κατανάλωση δεσμευμένου αποθέματος" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Κατανάλωση οποιουδήποτε αποθέματος έχει ήδη δεσμευτεί για αυτή την κατασκευή" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Αφαίρεση Ατελείωτων Προϊόντων" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Διαγράψτε τυχόν προϊόντα κατασκευής που δεν έχουν ολοκληρωθεί" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Δεν επιτρέπεται" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Αποδοχή ως κατανάλωση για αυτή την παραγγελία κατασκευής" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Αποδέσμευση πριν από την ολοκλήρωση αυτής της παραγγελίας κατασκευής" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Υπερ-δεσμευμένο Απόθεμα" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Πώς θέλετε να χειριστείτε το επιπλέον απόθεμα που έχει δεσμευτεί στην παραγγελία κατασκευής" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Μερικά στοιχεία αποθέματος έχουν υπερ-δεσμευτεί" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Αποδοχή Μη Δεσμευμένων" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Αποδεχτείτε ότι αντικείμενα αποθέματος δεν έχουν δεσμευτεί πλήρως σε αυτή την παραγγελία κατασκευής" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "Το απαιτούμενο απόθεμα δεν έχει δεσμευτεί πλήρως" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Αποδοχή Μη Ολοκληρωμένων" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Αποδεχτείτε ότι ο απαιτούμενος αριθμός προϊόντων κατασκευής δεν έχει ολοκληρωθεί" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "Ο απαιτούμενος αριθμός προϊόντων δεν έχει ολοκληρωθεί" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "Η εντολή κατασκευής έχει ανοιχτές θυγατρικές εντολές κατασκευής" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "Η εντολή κατασκευής πρέπει να βρίσκεται σε κατάσταση παραγωγής" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "Η παραγγελία κατασκευής έχει ελλιπή προϊόντα" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Γραμμή Κατασκευής" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Προϊόν Κατασκευής" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "Το προϊόν κατασκευής πρέπει να δείχνει στην ίδια κατασκευή" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Αντικείμενο Γραμμής Κατασκευής" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part πρέπει να δείχνει στο ίδιο εξάρτημα με τη εντολή κατασκευής" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "Το στοιχείο πρέπει να υπάρχει στο απόθεμα" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Η διαθέσιμη ποσότητα ({q}) έχει ξεπεραστεί" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "Πρέπει να καθοριστεί έξοδος κατασκευής για την κατανομή ανιχνεύσιμων Προϊόντων" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Δεν μπορεί να καθοριστεί έξοδος κατασκευής για την κατανομή μη ανιχνεύσιμων Προϊόντων" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Πρέπει να δοθούν στοιχεία κατανομής" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Τοποθεσία αποθέματος από την οποία θα ληφθούν τα Προϊόντα (αφήστε κενό για λήψη από οποιαδήποτε τοποθεσία)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Εξαίρεση τοποθεσίας" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Εξαιρέστε στοιχεία αποθέματος από αυτή την επιλεγμένη τοποθεσία" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Εναλλάξιμο απόθεμα" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Στοιχεία αποθέματος σε πολλές τοποθεσίες μπορούν να χρησιμοποιηθούν εναλλάξ" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Εναλλακτικό απόθεμα" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Να επιτρέπεται η κατανομή εναλλακτικών Προϊόντων" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Προαιρετικά στοιχεία" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Κατανομή προαιρετικών στοιχείων BOM στην εντολή κατασκευής" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "Αναφορά BOM" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "ID Προϊόντος BOM" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "Όνομα Προϊόντος BOM" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "Κατασκευή" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Aντικειμένου προμηθευτή" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Δεσμευμένη ποσότητα" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "Αναφορά κατασκευής" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Όνομα κατηγορίας Προϊόντος" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Ανιχνεύσιμο" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Κληρονομημένο" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Να επιτρέπονται παραλλαγές" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Στοιχείο BOM" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "Σε παραγωγή" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "Προγραμματισμένο για κατασκευή" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Εξωτερικό απόθεμα" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Διαθέσιμο απόθεμα" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Διαθέσιμο εναλλακτικό απόθεμα" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Διαθέσιμο απόθεμα παραλλαγών" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "Η καταναλωμένη ποσότητα υπερβαίνει τη δεσμευμένη ποσότητα" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "Προαιρετικές σημειώσεις για την κατανάλωση αποθέματος" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "Το στοιχείο κατασκευής πρέπει να αντιστοιχεί στη σωστή εντολή κατασκευής" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "Διπλή κατανομή στοιχείου κατασκευής" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "Η γραμμή κατασκευής πρέπει να αντιστοιχεί στη σωστή εντολή κατασκευής" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "Διπλή κατανομή γραμμής κατασκευής" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "Πρέπει να δοθεί τουλάχιστον ένα στοιχείο ή μία γραμμή" @@ -1494,7 +1494,7 @@ msgstr "Σε αναμονή" msgid "Cancelled" msgstr "Ακυρώθηκε" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Εκπρόθεσμη εντολή κατασκευής" msgid "Build order {bo} is now overdue" msgstr "Η εντολή κατασκευής {bo} είναι πλέον εκπρόθεσμη" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "Είναι σύνδεσμος" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "Είναι αρχείο" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "Ο χρήστης δεν έχει δικαίωμα να διαγράψει αυτά τα συνημμένα" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "Ο χρήστης δεν έχει δικαίωμα να διαγράψει αυτό το συνημμένο" @@ -1550,7 +1550,7 @@ msgstr "Δεν δόθηκαν έγκυροι κωδικοί συναλλάγμα msgid "No plugin" msgstr "Χωρίς πρόσθετο" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Ετικέτα κωδικού έργου" @@ -1628,7 +1628,7 @@ msgstr "Χρήστης" msgid "Price break quantity" msgstr "Ποσότητα κλιμακωτής τιμής" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Τιμή" @@ -1652,7 +1652,7 @@ msgstr "Όνομα για αυτό το webhook" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Ενεργό" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "Μη έγκυρη επιλογή για την τιμή παραμέτρου" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Πρότυπο" @@ -2148,7 +2148,7 @@ msgstr "Πρότυπο" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Δεδομένα" @@ -2156,18 +2156,18 @@ msgstr "Δεδομένα" msgid "Parameter Value" msgstr "Τιμή παραμέτρου" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Σημείωση" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Προαιρετικό πεδίο σημείωσης" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Όνομα αρχείου" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Τύπος μοντέλου" @@ -2465,11 +2465,11 @@ msgstr "Τύπος μοντέλου" msgid "User does not have permission to create or edit attachments for this model" msgstr "Ο χρήστης δεν έχει δικαίωμα να δημιουργήσει ή να επεξεργαστεί συνημμένα για αυτό το μοντέλο" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "Η λίστα επιλογών είναι κλειδωμένη" @@ -2859,8 +2859,8 @@ msgstr "Τα Προϊόντα είναι πρότυπα από προεπιλο msgid "Parts can be assembled from other components by default" msgstr "Τα Προϊόντα μπορούν να συναρμολογούνται από άλλα συστατικά από προεπιλογή" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Συστατικό" @@ -3988,33 +3988,33 @@ msgstr "Το προϊόν είναι ενεργό" msgid "Manufacturer is Active" msgstr "Ο κατασκευαστής είναι ενεργός" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "Το προϊόν προμηθευτή είναι ενεργό" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "Το εσωτερικό προϊόν είναι ενεργό" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "Ο προμηθευτής είναι ενεργός" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Κατασκευαστής" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Εταιρεία" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "Διαθέτει απόθεμα" @@ -4195,7 +4195,7 @@ msgstr "Σημειώσεις αποστολής για εσωτερική χρή msgid "Link to address information (external)" msgstr "Σύνδεσμος σε πληροφορίες διεύθυνσης (εξωτερικό)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Προϊόν κατασκευαστή" @@ -4213,12 +4213,12 @@ msgstr "Επιλογή προϊόντος" msgid "Select manufacturer" msgstr "Επιλογή κατασκευαστή" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "MPN" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Κωδικός προϊόντος κατασκευαστή" @@ -4242,8 +4242,8 @@ msgstr "Οι μονάδες συσκευασίας πρέπει να είναι msgid "Linked manufacturer part must reference the same base part" msgstr "Το συνδεδεμένο προϊόν κατασκευαστή πρέπει να αναφέρεται στο ίδιο βασικό προϊόν" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Προμηθευτής" msgid "Select supplier" msgstr "Επιλογή προμηθευτή" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Κωδικός αποθέματος προμηθευτή" @@ -4290,8 +4290,8 @@ msgstr "βασικό κόστος" msgid "Minimum charge (e.g. stocking fee)" msgstr "Ελάχιστη χρέωση (π.χ. χρέωση αποθήκευσης)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Συσκευασία" @@ -4339,14 +4339,18 @@ msgstr "Προεπιλεγμένο νόμισμα που χρησιμοποιε msgid "Company Name" msgstr "Όνομα εταιρείας" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "Σε απόθεμα" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "Κλιμακωτές τιμές" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "Προέκυψε σφάλμα κατά την εξαγωγή δεδομένων" @@ -4451,67 +4455,67 @@ msgstr "ID" msgid "Existing database identifier for the record" msgstr "Υπάρχον αναγνωριστικό βάσης δεδομένων για την εγγραφή" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "Η στήλη έχει ήδη αντιστοιχιστεί σε πεδίο της βάσης δεδομένων" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "Το πεδίο έχει ήδη αντιστοιχιστεί σε στήλη δεδομένων" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "Η αντιστοίχιση στήλης πρέπει να συνδέεται με έγκυρη συνεδρία εισαγωγής" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "Η στήλη δεν υπάρχει στο αρχείο δεδομένων" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "Το πεδίο δεν υπάρχει στο μοντέλο προορισμού" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "Το επιλεγμένο πεδίο είναι μόνο για ανάγνωση" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "Συνεδρία εισαγωγής" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Πεδίο" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Στήλη" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "Δείκτης γραμμής" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "Αρχικά δεδομένα γραμμής" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "Σφάλματα" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Έγκυρο" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "Απαιτείται ID για την ενημέρωση υπαρχόντων εγγραφών." -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "Δεν βρέθηκε εγγραφή με το παρεχόμενο ID" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "Δόθηκε μη έγκυρη μορφή ID" @@ -4821,7 +4825,7 @@ msgstr "Παραγγελία" msgid "Order Complete" msgstr "Η παραγγελία ολοκληρώθηκε" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Εσωτερικό προϊόν" @@ -4918,7 +4922,7 @@ msgstr "Ημερομηνία έναρξης" msgid "Scheduled start date for this order" msgstr "Προγραμματισμένη ημερομηνία έναρξης για αυτή την παραγγελία" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Επιθυμητή Προθεσμία" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Αναφορά παραγγελίας" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Κατάσταση" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Παραλήφθηκε" msgid "Number of items received" msgstr "Αριθμός ειδών που παραλήφθηκαν" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Τιμή αγοράς" @@ -5211,8 +5215,8 @@ msgstr "Έλεγχος από" msgid "User who checked this shipment" msgstr "Χρήστης που έλεγξε αυτή την αποστολή" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Αποστολή" @@ -5277,7 +5281,7 @@ msgstr "Η ποσότητα δέσμευσης δεν μπορεί να υπερ msgid "Allocation quantity must be greater than zero" msgstr "Η ποσότητα πρέπει να είναι μεγαλύτερη από 0" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "Η ποσότητα πρέπει να είναι 1 για σειριοποιημένο είδος αποθέματος" @@ -5393,7 +5397,7 @@ msgstr "Αντιγραφή επιπλέον γραμμών" msgid "Copy extra line items from the original order" msgstr "Αντιγραφή επιπλέον γραμμών από την αρχική παραγγελία" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Αντιγραφή παραμέτρων" @@ -5412,216 +5416,216 @@ msgstr "Γραμμές" msgid "Completed Lines" msgstr "Ολοκληρωμένες γραμμές" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "Αντιγραφή παραγγελίας" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "Καθορίστε επιλογές για την αντιγραφή αυτής της παραγγελίας" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "Μη έγκυρο ID παραγγελίας" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Όνομα προμηθευτή" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "Η παραγγελία δεν μπορεί να ακυρωθεί" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Να επιτρέπεται το κλείσιμο της παραγγελίας με μη ολοκληρωμένες γραμμές" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "Η παραγγελία έχει μη ολοκληρωμένες γραμμές" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "Η παραγγελία δεν είναι ανοικτή" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "Αυτόματη τιμολόγηση" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Αυτόματος υπολογισμός τιμής αγοράς βάσει των δεδομένων προϊόντος προμηθευτή" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Νόμισμα τιμής αγοράς" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "Συγχώνευση ειδών" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "Συγχώνευση ειδών με το ίδιο προϊόν, προορισμό και ημερομηνία στόχο σε μία γραμμή" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "SKU" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Εσωτερικός κωδικός προϊόντος" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "Εσωτερική ονομασία προϊόντος" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "Πρέπει να καθοριστεί προϊόν προμηθευτή" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "Πρέπει να καθοριστεί εντολή αγοράς" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "Ο προμηθευτής πρέπει να ταιριάζει με την εντολή αγοράς" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "Η εντολή αγοράς πρέπει να ταιριάζει με τον προμηθευτή" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Γραμμή" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Επιλογή τοποθεσίας προορισμού για τα παραληφθέντα είδη" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Εισαγάγετε κωδικό παρτίδας για τα εισερχόμενα είδη αποθέματος" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Ημερομηνία λήξης" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "Εισαγάγετε ημερομηνία λήξης για τα εισερχόμενα είδη αποθέματος" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Εισαγάγετε σειριακούς αριθμούς για τα εισερχόμενα είδη αποθέματος" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "Παράκαμψη πληροφοριών συσκευασίας για τα εισερχόμενα είδη αποθέματος" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "Πρόσθετη σημείωση για τα εισερχόμενα είδη αποθέματος" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Barcode" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Σαρωμένο barcode" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Το barcode χρησιμοποιείται ήδη" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Πρέπει να δοθούν γραμμές" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "Πρέπει να καθοριστεί τοποθεσία προορισμού" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "Οι δοθείσες τιμές barcode πρέπει να είναι μοναδικές" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "Αποστολές" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Ολοκληρωμένες αποστολές" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Νόμισμα τιμής πώλησης" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "Δεσμευμένα είδη" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "Δεν δόθηκαν λεπτομέρειες αποστολής" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "Η γραμμή δεν συνδέεται με αυτή την παραγγελία" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "Η ποσότητα πρέπει να είναι θετική" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Εισαγάγετε σειριακούς αριθμούς προς δέσμευση" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "Η αποστολή έχει ήδη σταλεί" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "Η αποστολή δεν συνδέεται με αυτή την παραγγελία" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "Δεν βρέθηκε αντιστοίχιση για τους παρακάτω σειριακούς αριθμούς" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "Οι παρακάτω σειριακοί αριθμοί δεν είναι διαθέσιμοι" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "Γραμμή εντολής επιστροφής" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "Η γραμμή δεν αντιστοιχεί στην εντολή επιστροφής" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "Η γραμμή έχει ήδη παραληφθεί" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Είδη μπορούν να παραληφθούν μόνο για παραγγελίες που είναι σε εξέλιξη" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "Ποσότητα προς επιστροφή" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Νόμισμα τιμής γραμμής" @@ -5837,7 +5841,7 @@ msgstr "Προεπιλεγμένες λέξεις-κλειδιά για προϊ msgid "Icon" msgstr "Εικονίδιο" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Εικονίδιο (προαιρετικό)" @@ -5858,7 +5862,7 @@ msgstr "Προεπιλεγμένη τιμή" msgid "Default Parameter Value" msgstr "Προεπιλεγμένη τιμή παραμέτρου" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Προϊόντα" @@ -5973,7 +5977,7 @@ msgstr "Λέξεις-κλειδιά προϊόντος για βελτίωση msgid "Part category" msgstr "Κατηγορία προϊόντος" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6006,7 +6010,7 @@ msgstr "Προεπιλεγμένη λήξη" msgid "Expiry time (in days) for stock items of this part" msgstr "Χρόνος λήξης (σε ημέρες) για είδη αποθέματος αυτού του προϊόντος" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Ελάχιστο απόθεμα" @@ -6487,355 +6491,355 @@ msgstr "Δεν μπορεί να δημιουργηθεί σχέση προϊό msgid "Duplicate relationship already exists" msgstr "Υπάρχει ήδη διπλή σχέση" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "Γονική κατηγορία" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "Γονική κατηγορία προϊόντος" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Υποκατηγορίες" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "Αποτελέσματα" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "Αριθμός αποτελεσμάτων που έχουν καταγραφεί για αυτό το πρότυπο" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Νόμισμα αγοράς για αυτό το είδος αποθέματος" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "Το αρχείο δεν είναι εικόνα" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Αρχικό προϊόν" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Επιλέξτε αρχικό προϊόν για αντιγραφή" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Αντιγραφή εικόνας" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Αντιγραφή εικόνας από το αρχικό προϊόν" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Αντιγραφή BOM" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "Αντιγραφή λίστας υλικών (BOM) από το αρχικό προϊόν" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "Αντιγραφή δεδομένων παραμέτρων από το αρχικό προϊόν" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Αντιγραφή σημειώσεων" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "Αντιγραφή σημειώσεων από το αρχικό προϊόν" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "Αντιγραφή δοκιμών" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "Αντιγραφή προτύπων δοκιμών από το αρχικό προϊόν" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Αρχική ποσότητα αποθέματος" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Καθορίστε αρχική ποσότητα αποθέματος για αυτό το προϊόν. Αν η ποσότητα είναι μηδέν, δεν προστίθεται απόθεμα" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "Αρχική τοποθεσία αποθέματος" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "Καθορίστε αρχική τοποθεσία αποθέματος για αυτό το προϊόν" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "Επιλέξτε προμηθευτή (ή αφήστε κενό για παράλειψη)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "Επιλέξτε κατασκευαστή (ή αφήστε κενό για παράλειψη)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Κωδικός προϊόντος κατασκευαστή" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "Η επιλεγμένη εταιρεία δεν είναι έγκυρος προμηθευτής" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "Η επιλεγμένη εταιρεία δεν είναι έγκυρος κατασκευαστής" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "Υπάρχει ήδη προϊόν κατασκευαστή με αυτό το MPN" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "Υπάρχει ήδη προϊόν προμηθευτή με αυτό το SKU" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Όνομα κατηγορίας" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "Σε παραγωγή" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "Ποσότητα αυτού του προϊόντος που βρίσκεται αυτή τη στιγμή σε παραγωγή" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Εκκρεμής ποσότητα αυτού του προϊόντος που έχει προγραμματιστεί για παραγωγή" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Είδη αποθέματος" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "Αναθεωρήσεις" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Συνολικό απόθεμα" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "Μη δεσμευμένο απόθεμα" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "Απόθεμα παραλλαγών" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Αντιγραφή προϊόντος" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "Αντιγραφή αρχικών δεδομένων από άλλο προϊόν" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Αρχικό απόθεμα" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Δημιουργία προϊόντος με αρχική ποσότητα αποθέματος" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Πληροφορίες προμηθευτή" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "Προσθήκη αρχικών πληροφοριών προμηθευτή για αυτό το προϊόν" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Αντιγραφή παραμέτρων κατηγορίας" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "Αντιγραφή προτύπων παραμέτρων από την επιλεγμένη κατηγορία προϊόντος" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Υπάρχουσα εικόνα" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "Όνομα αρχείου υπάρχουσας εικόνας προϊόντος" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "Το αρχείο εικόνας δεν υπάρχει" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Επικύρωση ολόκληρης της λίστας υλικών (BOM)" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Μπορεί να παραχθεί" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "Απαιτείται για εντολές παραγωγής" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "Δεσμευμένο σε εντολές παραγωγής" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "Απαιτείται για εντολές πώλησης" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "Δεσμευμένο σε εντολές πώλησης" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Ελάχιστη τιμή" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Παράκαμψη υπολογισμένης τιμής για την ελάχιστη τιμή" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Νόμισμα ελάχιστης τιμής" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Μέγιστη τιμή" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "Παράκαμψη υπολογισμένης τιμής για τη μέγιστη τιμή" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Νόμισμα μέγιστης τιμής" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Ενημέρωση" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "Ενημέρωση τιμολόγησης για αυτό το προϊόν" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Δεν ήταν δυνατή η μετατροπή από τα δοθέντα νομίσματα σε {default_currency}" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "Η ελάχιστη τιμή δεν πρέπει να είναι μεγαλύτερη από τη μέγιστη τιμή" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "Η μέγιστη τιμή δεν πρέπει να είναι μικρότερη από την ελάχιστη τιμή" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "Επιλέξτε τη γονική συναρμολόγηση" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "Επιλέξτε το προϊόν Προϊόντος" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "Επιλέξτε προϊόν από το οποίο θα αντιγραφεί το BOM" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Αφαίρεση υπαρχόντων δεδομένων" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "Αφαίρεση υπαρχόντων στοιχείων BOM πριν την αντιγραφή" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Συμπερίληψη κληρονομημένων" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "Συμπερίληψη στοιχείων BOM που κληρονομούνται από προϊόντα προτύπων" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Παράλειψη μη έγκυρων γραμμών" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Ενεργοποιήστε αυτή την επιλογή για να παραλείπονται οι μη έγκυρες γραμμές" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Αντιγραφή εναλλακτικών προϊόντων" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "Αντιγραφή εναλλακτικών προϊόντων κατά την αντιγραφή στοιχείων BOM" @@ -8288,7 +8292,7 @@ msgstr "Αναφορά δοκιμών είδους αποθέματος" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Εγκατεστημένα είδη" @@ -8361,7 +8365,7 @@ msgstr "Φιλτράρισμα κατά τοποθεσίες ανώτατου ε msgid "Include sub-locations in filtered results" msgstr "Συμπερίληψη υποτοποθεσιών στα φιλτραρισμένα αποτελέσματα" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "Γονική τοποθεσία" @@ -8445,7 +8449,7 @@ msgstr "Ημερομηνία λήξης πριν από" msgid "Expiry date after" msgstr "Ημερομηνία λήξης μετά από" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "Παλαιωμένο" @@ -8579,7 +8583,7 @@ msgstr "Πρέπει να καθοριστεί προϊόν" msgid "Stock items cannot be located into structural stock locations!" msgstr "Τα είδη αποθέματος δεν μπορούν να τοποθετηθούν σε δομικές τοποθεσίες αποθέματος!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "Δεν μπορεί να δημιουργηθεί είδος αποθέματος για εικονικά προϊόντα" @@ -8624,7 +8628,7 @@ msgstr "Επιλέξτε αντίστοιχο προϊόν προμηθευτή msgid "Where is this stock item located?" msgstr "Πού βρίσκεται αυτό το είδος αποθέματος;" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "Συσκευασία στην οποία αποθηκεύεται αυτό το είδος αποθέματος" @@ -8640,7 +8644,7 @@ msgstr "Είναι αυτό το είδος εγκατεστημένο σε άλ msgid "Serial number for this item" msgstr "Σειριακός αριθμός για αυτό το είδος" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Κωδικός παρτίδας για αυτό το είδος αποθέματος" @@ -8753,7 +8757,7 @@ msgstr "Το είδος αποθέματος βρίσκεται αυτή τη σ msgid "Serialized stock cannot be merged" msgstr "Σειριακό απόθεμα δεν μπορεί να συγχωνευθεί" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "Διπλότυπα είδη αποθέματος" @@ -8877,7 +8881,7 @@ msgstr "Επιλέξτε προϊόν για το οποίο θα δημιουρ msgid "Quantity of serial numbers to generate" msgstr "Ποσότητα σειριακών αριθμών προς δημιουργία" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "Πρότυπο δοκιμής για αυτό το αποτέλεσμα" @@ -8901,222 +8905,222 @@ msgstr "Γονικό είδος" msgid "Parent stock item" msgstr "Γονικό είδος αποθέματος" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Χρήση μεγέθους συσκευασίας κατά την προσθήκη: η καθορισμένη ποσότητα είναι ο αριθμός των συσκευασιών" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "Χρήση μεγέθους συσκευασίας" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "Εισαγάγετε σειριακούς αριθμούς για νέα είδη" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "Κωδικός προϊόντος προμηθευτή" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "Ληγμένο" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Θυγατρικά είδη" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "Εγγραφές ιχνηλάτησης" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "Τιμή αγοράς αυτού του είδους αποθέματος, ανά μονάδα ή συσκευασία" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "Εισαγάγετε τον αριθμό ειδών αποθέματος για σειριοποίηση" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "Δεν δόθηκε είδος αποθέματος" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Η ποσότητα δεν πρέπει να υπερβαίνει το διαθέσιμο απόθεμα ({q})" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "Τοποθεσία προορισμού αποθέματος" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "Δεν μπορούν να εκχωρηθούν σειριακοί αριθμοί σε αυτό το προϊόν" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Οι σειριακοί αριθμοί υπάρχουν ήδη" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "Επιλέξτε είδος αποθέματος προς εγκατάσταση" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "Ποσότητα προς εγκατάσταση" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "Εισαγάγετε την ποσότητα των ειδών προς εγκατάσταση" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "Προσθέστε σημείωση συναλλαγής (προαιρετικά)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "Η ποσότητα προς εγκατάσταση πρέπει να είναι τουλάχιστον 1" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "Το είδος αποθέματος δεν είναι διαθέσιμο" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "Το επιλεγμένο προϊόν δεν βρίσκεται στο Δελτίο Υλικών (BOM)" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "Η ποσότητα προς εγκατάσταση δεν πρέπει να υπερβαίνει τη διαθέσιμη ποσότητα" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "Τοποθεσία προορισμού για το απεγκατεστημένο είδος" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "Επιλέξτε προϊόν στο οποίο θα μετατραπεί το είδος αποθέματος" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "Το επιλεγμένο προϊόν δεν είναι έγκυρη επιλογή για μετατροπή" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Δεν είναι δυνατή η μετατροπή είδους αποθέματος με εκχωρημένο SupplierPart" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "Κωδικός κατάστασης είδους αποθέματος" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "Επιλέξτε είδη αποθέματος για αλλαγή κατάστασης" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "Δεν επιλέχθηκαν είδη αποθέματος" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Υποτοποθεσίες" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "Γονική τοποθεσία αποθέματος" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "Το προϊόν πρέπει να είναι διαθέσιμο για πώληση" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "Το είδος έχει δεσμευτεί σε εντολή πώλησης" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "Το είδος έχει δεσμευτεί σε εντολή παραγωγής" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "Πελάτης στον οποίο θα αποδοθούν τα είδη αποθέματος" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "Η επιλεγμένη εταιρεία δεν είναι πελάτης" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Σημειώσεις απόδοσης αποθέματος" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "Πρέπει να δοθεί λίστα ειδών αποθέματος" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Σημειώσεις συγχώνευσης αποθέματος" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Να επιτρέπονται διαφορετικοί προμηθευτές" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "Να επιτρέπεται η συγχώνευση ειδών αποθέματος με διαφορετικά προϊόντα προμηθευτή" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Να επιτρέπεται διαφορετική κατάσταση" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "Να επιτρέπεται η συγχώνευση ειδών αποθέματος με διαφορετικούς κωδικούς κατάστασης" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "Πρέπει να δοθούν τουλάχιστον δύο είδη αποθέματος" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "Καμία αλλαγή" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Τιμή πρωτεύοντος κλειδιού StockItem" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "Το είδος δεν βρίσκεται σε απόθεμα" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "Το είδος βρίσκεται ήδη σε απόθεμα" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "Η ποσότητα δεν πρέπει να είναι αρνητική" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Σημειώσεις συναλλαγής αποθέματος" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "Συγχώνευση με υπάρχον απόθεμα" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "Συγχώνευση επιστρεφόμενων ειδών με υπάρχοντα είδη αποθέματος, όπου είναι δυνατό" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "Επόμενος σειριακός αριθμός" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "Προηγούμενος σειριακός αριθμός" @@ -9598,99 +9602,99 @@ msgstr "Εντολές Πώλησης" msgid "Return Orders" msgstr "Εντολές Επιστροφής" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Όνομα χρήστη" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Όνομα" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Το όνομα του χρήστη" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Επώνυμο" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Το επώνυμο του χρήστη" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Διεύθυνση email του χρήστη" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Υπερχρήστης" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Είναι ο χρήστης υπερχρήστης;" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Είναι ο λογαριασμός χρήστη ενεργός;" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "Μόνο υπερχρήστης μπορεί να τροποποιήσει αυτό το πεδίο" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "Κωδικός πρόσβασης" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "Κωδικός πρόσβασης του χρήστη" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "Παράβλεψη προειδοποίησης" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "Παράβλεψη της προειδοποίησης σχετικά με τους κανόνες κωδικού πρόσβασης" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "Δεν έχετε δικαίωμα δημιουργίας χρηστών" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Ο λογαριασμός σας δημιουργήθηκε." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Παρακαλούμε χρησιμοποιήστε τη λειτουργία επαναφοράς κωδικού πρόσβασης για να συνδεθείτε" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Καλώς ήρθατε στο InvenTree" diff --git a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po index 4a5c3ee85b..4b3c0acc6b 100644 --- a/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/en/LC_MESSAGES/django.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 10:22+0000\n" +"POT-Creation-Date: 2026-04-13 12:28+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -105,13 +105,13 @@ msgstr "" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "" @@ -216,7 +216,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "" @@ -337,51 +337,51 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -568,15 +568,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -586,8 +586,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -596,9 +596,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "" @@ -670,16 +670,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -688,7 +688,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -696,24 +696,24 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -728,19 +728,19 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -784,7 +784,7 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -814,7 +814,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "" @@ -862,16 +862,16 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "" @@ -965,7 +965,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -981,23 +981,23 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1018,10 +1018,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1033,7 +1033,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1072,11 +1072,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "" @@ -1100,378 +1100,378 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1495,7 +1495,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1519,19 +1519,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1551,7 +1551,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1629,7 +1629,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "" @@ -1653,7 +1653,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -2127,7 +2127,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2141,7 +2141,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "" @@ -2149,7 +2149,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2157,18 +2157,18 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2457,7 +2457,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2466,11 +2466,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2860,8 +2860,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "" @@ -3989,33 +3989,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4196,7 +4196,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4214,12 +4214,12 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4243,8 +4243,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4255,7 +4255,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4291,8 +4291,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4340,14 +4340,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4452,67 +4456,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4822,7 +4826,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4919,7 +4923,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4957,7 +4961,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "" @@ -5014,7 +5018,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5140,7 +5144,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5212,8 +5216,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5278,7 +5282,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5394,7 +5398,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5413,216 +5417,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5838,7 +5842,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5859,7 +5863,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "" @@ -5974,7 +5978,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6007,7 +6011,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6488,355 +6492,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8289,7 +8293,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8362,7 +8366,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8446,7 +8450,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8580,7 +8584,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8625,7 +8629,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8641,7 +8645,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8754,7 +8758,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8878,7 +8882,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8902,222 +8906,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9599,98 +9603,98 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "" diff --git a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po index bec0242164..10ffcc19ad 100644 --- a/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Language: es_ES\n" @@ -104,13 +104,13 @@ msgstr "Ingrese la fecha" msgid "Invalid decimal value" msgstr "Número decimal no válido" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Notas" @@ -215,7 +215,7 @@ msgstr "La URL proporcionada no es un archivo de imagen válido" msgid "Log in to the app" msgstr "Iniciar sesión en la aplicación" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "Correo electrónico" @@ -336,51 +336,51 @@ msgstr "Se ha registrado un error por el servidor." msgid "Image" msgstr "Imágen" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Moneda" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Imagen remota" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URL de imagen remota" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "La descarga de imágenes desde la URL remota no está habilitada" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Error al descargar la imagen desde la URL remota" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Incluye Variantes" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Incluye Variantes" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Incluye Variantes" msgid "Part" msgstr "Parte" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Categoría" @@ -669,16 +669,16 @@ msgstr "Excluir Árbol" msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Consumible" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Opcional" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Montaje" @@ -687,7 +687,7 @@ msgstr "Montaje" msgid "Tracked" msgstr "Rastreado" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Comprobable" @@ -695,24 +695,24 @@ msgstr "Comprobable" msgid "Order Outstanding" msgstr "Pedido pendiente" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Asignadas" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "Agotado" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "En pedido" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Construir órden" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Ubicación" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "Salida" @@ -783,7 +783,7 @@ msgstr "La fecha límite debe ser posterior a la fecha de inicio" msgid "Build Order Reference" msgstr "Número de orden de construcción o armado" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Referencia de orden de venta" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Ubicación de la fuente" @@ -861,16 +861,16 @@ msgstr "Estado de la construcción" msgid "Build status code" msgstr "Código de estado de construcción" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Numero de lote" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Número de lote de este producto final" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Fecha de Creación" @@ -964,7 +964,7 @@ msgstr "El pedido {build} ha sido procesado" msgid "A build order has been completed" msgstr "Pedido #[order] ha sido procesado" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "Los números de serie deben ser proporcionados para las partes rastreables" @@ -980,23 +980,23 @@ msgstr "La construcción de la salida ya está completa" 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:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "La cantidad no puede ser mayor que la cantidad de salida" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, 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" @@ -1017,10 +1017,10 @@ msgstr "Construir línea de pedido" msgid "Build object" msgstr "Ensamblar equipo" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Ensamblar equipo" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Artículo de stock" @@ -1099,378 +1099,378 @@ msgstr "Artículo de stock de destino" msgid "Build Level" msgstr "Nivel de construcción" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Nombre de parte" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "La salida de construcción no coincide con la construcción padre" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "La parte de salida no coincide con la parte de la Orden de Construcción" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Esta salida de construcción ya ha sido completada" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Esta salida de construcción no está completamente asignada" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Ingrese la cantidad para la producción de la construcción" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Cantidad entera requerida para partes rastreables" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Números de serie" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Introduzca los números de serie de salidas de construcción" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Ubicación de stock para objetos construidos" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Autoasignar Números de Serie" -#: build/serializers.py:378 +#: build/serializers.py:385 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:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Debe proporcionarse una lista de salidas de construcción" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Ubicación de almacén para salidas descartadas" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Descartar asignaciones" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Descartar cualquier asignación de existencias para las salidas descartadas" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Razón para descartar la salida de ensamble(s)" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Ubicación para las salidas de construcción completadas" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Aceptar Asignación Incompleta" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completar salidas si el inventario no se ha asignado completamente" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Consumir Stock Asignado" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Consume cualquier stock que ya ha sido asignado a esta construcción" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Eliminar salidas incompletas" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Eliminar cualquier salida de construcción que no se haya completado" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "No permitido" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Aceptar como consumido por este pedido de construcción" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Liberar antes de completar esta orden de construcción" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Stock sobreasignado" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Cómo quieres manejar los artículos extra de inventario asignados a la orden de construcción" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Algunos artículos de inventario han sido sobreasignados" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Aceptar no asignado" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Aceptar que los artículos de stock no se han asignado completamente a este pedido de construcción" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "El stock requerido no ha sido completamente asignado" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Aceptar incompleto" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Aceptar que el número requerido de salidas de construcción no se han completado" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "La cantidad de construcción requerida aún no se ha completado" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "La orden de construcción tiene órdenes hijas de construcción abiertas" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "Orden de construcción debe estar en estado de producción" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "El orden de construcción tiene salidas incompletas" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Linea de ensamble" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "La salida de la construcción debe apuntar a la misma construcción" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Crear partida" -#: build/serializers.py:926 +#: build/serializers.py:933 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:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Cantidad disponible ({q}) excedida" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "La salida de la construcción debe especificarse para la asignación de partes rastreadas" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "La salida de construcción no se puede especificar para la asignación de partes no rastreadas" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Debe proporcionarse la adjudicación de artículos" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Ubicación de inventario donde las partes deben ser obtenidas (dejar en blanco para tomar de cualquier ubicación)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Excluir ubicación" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Excluir artículos de stock de esta ubicación seleccionada" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Stock intercambiable" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Los artículos de inventario en múltiples ubicaciones se pueden utilizar de forma intercambiable" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Sustituir stock" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Permitir la asignación de partes sustitutas" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Elementos opcionales" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Asignar artículos de la BOM opcionales para construir la orden" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "Referencia BOM" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "ID de la parte BOM" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "Nombre de parte la BOM" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Parte del proveedor" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Cantidad Asignada" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "Referencia de orden de Ensamblado" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Nombre de la categoría por pieza" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Rastreable" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Heredado" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Permitir variantes" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Item de Lista de Materiales" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "En producción" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Stock externo" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Stock Disponible" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Stock sustituto disponible" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Stock variable disponible" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "En espera" msgid "Cancelled" msgstr "Cancelado" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Orden de construcción atrasada" msgid "Build order {bo} is now overdue" msgstr "El pedido de construcción {bo} está atrasado" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "¿Es enlace?" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "¿Es archivo?" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "El usuario no tiene permiso para eliminar estos adjuntos" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "El usuario no tiene permiso para eliminar este adjunto" @@ -1550,7 +1550,7 @@ msgstr "No se han proporcionado códigos de divisa válidos" msgid "No plugin" msgstr "Sin plugin" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Etiqueta del código del proyecto" @@ -1628,7 +1628,7 @@ msgstr "Usuario" msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Precio" @@ -1652,7 +1652,7 @@ msgstr "Nombre para este webhook" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Activo" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "Opción inválida para el valor del parámetro" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Plantilla" @@ -2148,7 +2148,7 @@ msgstr "Plantilla" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Datos" @@ -2156,18 +2156,18 @@ msgstr "Datos" msgid "Parameter Value" msgstr "Valor del parámetro" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Nota" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Campo de nota opcional" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Nombre de Archivo" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" 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:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "Lista de selección bloqueada" @@ -2859,8 +2859,8 @@ msgstr "Las partes son plantillas por defecto" msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Componente" @@ -3988,33 +3988,33 @@ msgstr "La parte está activa" msgid "Manufacturer is Active" msgstr "El fabricante está activo" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Fabricante" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Empresa" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "Tiene Stock" @@ -4195,7 +4195,7 @@ msgstr "Notas de envío para uso interno" msgid "Link to address information (external)" msgstr "Enlace a información de dirección (externa)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Parte del fabricante" @@ -4213,12 +4213,12 @@ msgstr "Seleccionar parte" msgid "Select manufacturer" msgstr "Seleccionar fabricante" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Número de parte de fabricante" @@ -4242,8 +4242,8 @@ msgstr "Las unidades de paquete deben ser mayor que cero" 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:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Proveedor" msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Unidad de mantenimiento de stock de proveedores" @@ -4290,8 +4290,8 @@ msgstr "costo base" msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Paquetes" @@ -4339,14 +4339,18 @@ msgstr "Moneda predeterminada utilizada para este proveedor" msgid "Company Name" msgstr "Nombre de la empresa" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "En Stock" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "La columna ya fue mapeada a un campo de la base de datos" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "La columna no existe en el archivo de datos" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "El campo no existe en el modelo destino" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "El campo seleccionado es de solo lectura" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "Sesión de importación" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Campo" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Columna" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "Número de fila" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "Datos de la fila original" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "Errores" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Válido" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "Orden" msgid "Order Complete" msgstr "Orden completada" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Componente interno" @@ -4918,7 +4922,7 @@ msgstr "Fecha de inicio" msgid "Scheduled start date for this order" msgstr "Fecha de inicio programada para este pedido" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Fecha objetivo" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Referencia del pedido" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Estado" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Recibido" msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Precio de Compra" @@ -5211,8 +5215,8 @@ msgstr "Revisado por" msgid "User who checked this shipment" msgstr "Usuario que revisó este envío" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Envío" @@ -5277,7 +5281,7 @@ msgstr "La cantidad de asignación no puede exceder la cantidad de stock" msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "La cantidad debe ser 1 para el stock serializado" @@ -5393,7 +5397,7 @@ msgstr "Copiar líneas adicionales" msgid "Copy extra line items from the original order" msgstr "Copiar elementos extra de la línea del pedido original" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Copiar Parámetros" @@ -5412,216 +5416,216 @@ msgstr "Partidas" msgid "Completed Lines" msgstr "Líneas completadas" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "Duplicar pedido" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "Especificar opciones para duplicar este pedido" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "ID de pedido no válido" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Nombre del proveedor" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "El pedido no puede ser cancelado" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir cerrar el pedido con partidas incompletas" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "El pedido tiene partidas incompletas" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "El pedido no está abierto" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "Precio automático" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Calcular precio de compra automáticamente con base en los datos del proveedor" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Moneda del precio de compra" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "Combinar artículos" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "SKU" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Número de parte interna" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "Nombre interno de parte" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "Debe especificar la parte del proveedor" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "La orden de compra debe especificarse" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "El proveedor debe coincidir con la orden de compra" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "La orden de compra debe coincidir con el proveedor" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Partida" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Seleccione la ubicación de destino para los artículos recibidos" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Introduzca el código de lote para los artículos de almacén entrantes" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Fecha de Expiración" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Introduzca números de serie para artículos de almacén entrantes" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Código de barras escaneado" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Código de barras en uso" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Se deben proporcionar las partidas" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "Se requiere ubicación de destino" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "Los valores del código de barras deben ser únicos" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "Envíos" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Envíos completados" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Moneda del precio de venta" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "Elementos asignados" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "No se proporcionaron detalles de envío" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "La partida no está asociada con este pedido" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "La cantidad debe ser positiva" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Introduzca números de serie para asignar" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "El envío ya ha sido enviado" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "El envío no está asociado con este pedido" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "No se han encontrado coincidencias para los siguientes números de serie" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "Los siguientes números de serie no están disponibles" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "Partida de orden de devolución" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "La partida no coincide con la orden de devolución" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "La partida ya ha sido recibida" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Los artículos sólo pueden ser recibidos contra pedidos en curso" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "Cantidad a devolver" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Moneda de precio de línea" @@ -5837,7 +5841,7 @@ msgstr "Palabras clave por defecto para partes en esta categoría" msgid "Icon" msgstr "Icono" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Icono (opcional)" @@ -5858,7 +5862,7 @@ msgstr "Valor predeterminado" msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Partes" @@ -5973,7 +5977,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:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6006,7 +6010,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:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Stock mínimo" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "Categoría principal de parte" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Subcategorías" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Moneda de compra de ítem de stock" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Parte original" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Seleccione la parte original a duplicar" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Copiar Imagen" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Copiar imagen desde la parte original" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Copiar BOM" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "Copiar la factura de materiales de la parte original" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "Copiar datos del parámetro de la parte original" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Cantidad Inicial de Stock" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Número de parte del fabricante" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "La empresa seleccionada no es un proveedor válido" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "La empresa seleccionada no es un fabricante válido" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Nombre de categoría" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "En construcción" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Elementos de stock" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Inventario Total" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Stock Inicial" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Crear Parte con cantidad inicial de stock" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Imagen Existente" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "El archivo de imagen no existe" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Validación de Lista de Materiales" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Puede construir" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Precio mínimo" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Anular el valor calculado para precio mínimo" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Precio mínimo de moneda" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Precio máximo" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Precio máximo de moneda" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 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:1531 +#: part/serializers.py:1563 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:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:1942 +#: part/serializers.py:2006 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:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ 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:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Elementos instalados" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "Ubicación principal" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "Desactualizado" @@ -8579,7 +8583,7 @@ msgstr "Se debe especificar la pieza" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,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:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "Empaquetar este artículo de stock se almacena en" @@ -8640,7 +8644,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:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Código de lote para este artículo de stock" @@ -8753,7 +8757,7 @@ msgstr "El artículo de stock está en producción" msgid "Serialized stock cannot be merged" msgstr "Stock serializado no puede ser combinado" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "Artículos de Stock Duplicados" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "Elemento padre" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "Introduzca números de serie para nuevos artículos" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "Número de pieza del proveedor" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "Expirado" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Elementos secundarios" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "Introduzca el número de artículos de stock para serializar" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, 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:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "Ubicación de stock de destino" -#: stock/serializers.py:746 +#: stock/serializers.py:760 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:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Números de serie ya existen" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "Añadir nota de transacción (opcional)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Sub-ubicación" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "La parte debe ser vendible" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "El artículo está asignado a una orden de venta" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "El artículo está asignado a una orden de creación" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "Cliente para asignar artículos de stock" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "La empresa seleccionada no es un cliente" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Notas de asignación de stock" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "Debe proporcionarse una lista de artículos de stock" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Notas de fusión de stock" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Permitir proveedores no coincidentes" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 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:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Permitir estado no coincidente" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 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:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "Debe proporcionar al menos dos artículos de stock" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "Sin cambios" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Valor de clave primaria de Stock" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "No hay existencias del artículo" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Notas de transacción de stock" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "Órdenes de venta" msgid "Return Orders" msgstr "Ordenes de devolución" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Nombre de usuario" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Nombre" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Nombre del usuario" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Apellido" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Apellido del usuario" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Dirección de correo del usuario" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Superusuario" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Es este usuario un superusuario" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Esta cuenta de usuario está activa" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Su cuenta ha sido creada." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Por favor, utilice la función de restablecer la contraseña para iniciar sesión" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Bienvenido a InvenTree" 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 12e3a63eac..4cf7a2dfa2 100644 --- a/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/es_MX/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Language: es_MX\n" @@ -104,13 +104,13 @@ msgstr "Ingrese la fecha" msgid "Invalid decimal value" msgstr "Número decimal inválido" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Notas" @@ -215,7 +215,7 @@ msgstr "La URL proporcionada no es un archivo de imagen válido" msgid "Log in to the app" msgstr "Iniciar sesión en la aplicación" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "Correo electrónico" @@ -336,51 +336,51 @@ msgstr "Se ha registrado un error por el servidor." msgid "Image" msgstr "Imágen" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Debe ser un número válido" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Moneda" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Seleccionar moneda de las opciones disponibles" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Imagen remota" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URL de imagen remota" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "La descarga de imágenes desde la URL remota no está habilitada" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Error al descargar la imagen desde la URL remota" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Incluye Variantes" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Incluye Variantes" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Incluye Variantes" msgid "Part" msgstr "Parte" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Categoría" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "La compilación debe cancelarse antes de poder ser eliminada" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Consumible" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Opcional" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Montaje" @@ -687,7 +687,7 @@ msgstr "Montaje" msgid "Tracked" msgstr "Rastreado" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Comprobable" @@ -695,24 +695,24 @@ msgstr "Comprobable" msgid "Order Outstanding" msgstr "Pedido pendiente" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Asignadas" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "En pedido" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Construir órden" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Ubicación" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "Número de orden de construcción o armado" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Referencia de orden de venta" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Ubicación de la fuente" @@ -861,16 +861,16 @@ msgstr "Estado de la construcción" msgid "Build status code" msgstr "Código de estado de construcción" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Numero de lote" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Número de lote de este producto final" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Fecha de Creación" @@ -964,7 +964,7 @@ msgstr "El pedido {build} ha sido procesado" msgid "A build order has been completed" msgstr "Pedido #[order] ha sido procesado" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "Los números de serie deben ser proporcionados para las partes rastreables" @@ -980,23 +980,23 @@ msgstr "La construcción de la salida ya está completa" 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:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "La cantidad debe ser mayor que cero" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "La cantidad no puede ser mayor que la cantidad de salida" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, 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" @@ -1017,10 +1017,10 @@ msgstr "Construir línea de pedido" msgid "Build object" msgstr "Ensamblar equipo" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Ensamblar equipo" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Cantidad asignada ({q}) no debe exceder la cantidad disponible de stock msgid "Stock item is over-allocated" msgstr "Artículo de stock sobreasignado" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Artículo de stock" @@ -1099,378 +1099,378 @@ msgstr "Artículo de stock de destino" msgid "Build Level" msgstr "Nivel de construcción" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Nombre de parte" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "La salida de construcción no coincide con la construcción padre" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "La parte de salida no coincide con la parte de la Orden de Construcción" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Esta salida de construcción ya ha sido completada" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Esta salida de construcción no está completamente asignada" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Ingrese la cantidad para la producción de la construcción" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Cantidad entera requerida para partes rastreables" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Cantidad entera requerida, ya que la factura de materiales contiene partes rastreables" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Números de serie" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Introduzca los números de serie de salidas de construcción" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Ubicación de stock para objetos construidos" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Autoasignar Números de Serie" -#: build/serializers.py:378 +#: build/serializers.py:385 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:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Los siguientes números seriales ya existen o son inválidos" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Debe proporcionarse una lista de salidas de construcción" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Ubicación de almacén para salidas descartadas" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Descartar asignaciones" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Descartar cualquier asignación de existencias para las salidas descartadas" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Razón para descartar la salida de ensamble(s)" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Ubicación para las salidas de construcción completadas" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Aceptar Asignación Incompleta" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completar salidas si el inventario no se ha asignado completamente" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Consumir Stock Asignado" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Consume cualquier stock que ya ha sido asignado a esta construcción" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Eliminar salidas incompletas" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Eliminar cualquier salida de construcción que no se haya completado" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "No permitido" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Aceptar como consumido por este pedido de construcción" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Liberar antes de completar esta orden de construcción" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Stock sobreasignado" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Cómo quieres manejar los artículos extra de inventario asignados a la orden de construcción" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Algunos artículos de inventario han sido sobreasignados" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Aceptar no asignado" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Aceptar que los artículos de stock no se han asignado completamente a este pedido de construcción" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "El stock requerido no ha sido completamente asignado" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Aceptar incompleto" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Aceptar que el número requerido de salidas de construcción no se han completado" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "La cantidad de construcción requerida aún no se ha completado" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "La orden de construcción tiene órdenes hijas de construcción abiertas" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "Orden de construcción debe estar en estado de producción" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "El orden de construcción tiene salidas incompletas" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Linea de ensamble" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Resultado de la construcción o armado" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "La salida de la construcción debe apuntar a la misma construcción" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Crear partida" -#: build/serializers.py:926 +#: build/serializers.py:933 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:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "El artículo debe estar en stock" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Cantidad disponible ({q}) excedida" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "La salida de la construcción debe especificarse para la asignación de partes rastreadas" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "La salida de construcción no se puede especificar para la asignación de partes no rastreadas" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Debe proporcionarse la adjudicación de artículos" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Ubicación de inventario donde las partes deben ser obtenidas (dejar en blanco para tomar de cualquier ubicación)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Excluir ubicación" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Excluir artículos de stock de esta ubicación seleccionada" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Stock intercambiable" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Los artículos de inventario en múltiples ubicaciones se pueden utilizar de forma intercambiable" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Sustituir stock" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Permitir la asignación de partes sustitutas" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Elementos opcionales" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Asignar artículos de la BOM opcionales para construir la orden" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "Referencia BOM" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "ID de la parte BOM" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "Nombre de parte la BOM" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Parte del proveedor" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Cantidad Asignada" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "Referencia de orden de Ensamblado" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Nombre de la categoría por pieza" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Rastreable" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Heredado" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Permitir variantes" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Item de Lista de Materiales" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "En producción" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Stock externo" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Stock Disponible" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Stock sustituto disponible" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Stock variable disponible" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "En espera" msgid "Cancelled" msgstr "Cancelado" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Orden de construcción atrasada" msgid "Build order {bo} is now overdue" msgstr "El pedido de construcción {bo} está atrasado" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "¿Es enlace?" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "¿Es archivo?" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "El usuario no tiene permiso para eliminar estos adjuntos" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "El usuario no tiene permiso para eliminar este adjunto" @@ -1550,7 +1550,7 @@ msgstr "No se han proporcionado códigos de divisa válidos" msgid "No plugin" msgstr "Sin plugin" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Etiqueta del código del proyecto" @@ -1628,7 +1628,7 @@ msgstr "Usuario" msgid "Price break quantity" msgstr "Cantidad de salto de precio" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Precio" @@ -1652,7 +1652,7 @@ msgstr "Nombre para este webhook" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Activo" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "Opción inválida para el valor del parámetro" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Plantilla" @@ -2148,7 +2148,7 @@ msgstr "Plantilla" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Datos" @@ -2156,18 +2156,18 @@ msgstr "Datos" msgid "Parameter Value" msgstr "Valor del parámetro" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Nota" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Campo de nota opcional" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Nombre de Archivo" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "Lista de selección bloqueada" @@ -2859,8 +2859,8 @@ msgstr "Las partes son plantillas por defecto" msgid "Parts can be assembled from other components by default" msgstr "Las partes pueden ser ensambladas desde otros componentes por defecto" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Componente" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Fabricante" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Empresa" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "Tiene existencias" @@ -4195,7 +4195,7 @@ msgstr "Notas de envío para uso interno" msgid "Link to address information (external)" msgstr "Enlace a información de dirección (externa)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Parte del fabricante" @@ -4213,12 +4213,12 @@ msgstr "Seleccionar parte" msgid "Select manufacturer" msgstr "Seleccionar fabricante" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Número de parte de fabricante" @@ -4242,8 +4242,8 @@ msgstr "Las unidades de paquete deben ser mayor que cero" 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:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Proveedor" msgid "Select supplier" msgstr "Seleccionar proveedor" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Unidad de mantenimiento de stock de proveedores" @@ -4290,8 +4290,8 @@ msgstr "costo base" msgid "Minimum charge (e.g. stocking fee)" msgstr "Cargo mínimo (p. ej., cuota de almacenamiento)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Paquetes" @@ -4339,14 +4339,18 @@ msgstr "Moneda predeterminada utilizada para este proveedor" msgid "Company Name" msgstr "Nombre de la empresa" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "En Stock" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "La columna ya fue mapeada a un campo de la base de datos" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "La columna no existe en el archivo de datos" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "El campo no existe en el modelo destino" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "El campo seleccionado es de solo lectura" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "Sesión de importación" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Campo" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Columna" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "Número de fila" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "Datos de la fila original" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "Errores" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Válido" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "Orden" msgid "Order Complete" msgstr "Orden completada" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Componente interno" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Fecha objetivo" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Referencia del pedido" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Estado" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Recibido" msgid "Number of items received" msgstr "Número de artículos recibidos" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Precio de Compra" @@ -5211,8 +5215,8 @@ msgstr "Revisado por" msgid "User who checked this shipment" msgstr "Usuario que revisó este envío" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Envío" @@ -5277,7 +5281,7 @@ msgstr "La cantidad de asignación no puede exceder la cantidad de stock" msgid "Allocation quantity must be greater than zero" msgstr "Cantidad asignada debe ser mayor que cero" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "La cantidad debe ser 1 para el stock serializado" @@ -5393,7 +5397,7 @@ msgstr "Copiar líneas adicionales" msgid "Copy extra line items from the original order" msgstr "Copiar partidas extra del pedido original" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Copiar Parámetros" @@ -5412,216 +5416,216 @@ msgstr "Partidas" msgid "Completed Lines" msgstr "Líneas completadas" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "Duplicar pedido" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "Especificar opciones para duplicar este pedido" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "ID de pedido inválido" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Nombre del proveedor" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "El pedido no puede ser cancelado" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir cerrar el pedido con partidas incompletas" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "El pedido tiene partidas incompletas" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "El pedido no está abierto" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "Precio automático" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Calcular precio de compra automáticamente con base en los datos del proveedor" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Moneda del precio de compra" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "Combinar artículos" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "SKU" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Número de parte interna" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "Nombre interno de parte" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "Debe especificar la parte del proveedor" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "La orden de compra debe especificarse" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "El proveedor debe coincidir con la orden de compra" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "La orden de compra debe coincidir con el proveedor" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Partida" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Seleccione la ubicación de destino para los artículos recibidos" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Introduzca el código de lote para los artículos de almacén entrantes" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Fecha de Expiración" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Introduzca números de serie para artículos de almacén entrantes" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Código de barras escaneado" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Código de barras en uso" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Se deben proporcionar las partidas" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "Se requiere ubicación de destino" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "Los valores del código de barras deben ser únicos" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "Envíos" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Envíos completados" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Moneda del precio de venta" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "Elementos asignados" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "No se proporcionaron detalles de envío" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "La partida no está asociada con este pedido" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "La cantidad debe ser positiva" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Introduzca números de serie para asignar" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "El envío ya ha sido enviado" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "El envío no está asociado con este pedido" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "No se han encontrado coincidencias para los siguientes números de serie" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "Los siguientes números de serie no están disponibles" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "Partida de orden de devolución" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "La partida no coincide con la orden de devolución" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "La partida ya ha sido recibida" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Los artículos sólo pueden ser recibidos contra pedidos en curso" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "Cantidad a devolver" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Moneda de precio de línea" @@ -5837,7 +5841,7 @@ msgstr "Palabras clave por defecto para partes en esta categoría" msgid "Icon" msgstr "Icono" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Icono (opcional)" @@ -5858,7 +5862,7 @@ msgstr "Valor predeterminado" msgid "Default Parameter Value" msgstr "Valor de parámetro por defecto" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Partes" @@ -5973,7 +5977,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:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6006,7 +6010,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:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Stock mínimo" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "Categoría principal de parte" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Subcategorías" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Moneda de compra de ítem de stock" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Parte original" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Seleccione la parte original a duplicar" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Copiar Imagen" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Copiar imagen desde la parte original" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Copiar BOM" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "Copiar la factura de materiales de la parte original" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "Copiar datos del parámetro de la parte original" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Cantidad Inicial de Stock" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "Seleccione proveedor (o déjelo en blanco para saltar)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleccionar fabricante (o dejar en blanco para saltar)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Número de parte del fabricante" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "La empresa seleccionada no es un proveedor válido" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "La empresa seleccionada no es un fabricante válido" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Nombre de categoría" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "En construcción" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Elementos de stock" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Inventario Total" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Duplicar Parte" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Stock Inicial" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Crear Parte con cantidad inicial de stock" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Información del proveedor" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "Añadir información inicial del proveedor para esta parte" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Copiar Parámetros de Categoría" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "Copiar plantillas de parámetro de la categoría de partes seleccionada" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Imagen Existente" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "El archivo de imagen no existe" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Validación de Lista de Materiales" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Puede construir" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Precio mínimo" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Anular el valor calculado para precio mínimo" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Precio mínimo de moneda" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Precio máximo" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Precio máximo de moneda" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Actualizar" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 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:1531 +#: part/serializers.py:1563 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:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "Seleccionar parte de la que copiar BOM" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Eliminar Datos Existentes" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "Eliminar artículos BOM existentes antes de copiar" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Incluye Heredado" -#: part/serializers.py:1942 +#: part/serializers.py:2006 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:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Omitir filas no válidas" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Activar esta opción para omitir filas inválidas" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Copiar partes sustitutas" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ 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:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Elementos instalados" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "Ubicación principal" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "Desactualizado" @@ -8579,7 +8583,7 @@ msgstr "Se debe especificar la pieza" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,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:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "Empaquetar este artículo de stock se almacena en" @@ -8640,7 +8644,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:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Código de lote para este artículo de stock" @@ -8753,7 +8757,7 @@ msgstr "El artículo de stock está en producción" msgid "Serialized stock cannot be merged" msgstr "Stock serializado no puede ser combinado" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "Artículos de Stock Duplicados" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "Elemento padre" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "Introduzca números de serie para nuevos artículos" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "Número de pieza del proveedor" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "Expirado" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Elementos secundarios" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "Introduzca el número de artículos de stock para serializar" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, 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:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "Ubicación de stock de destino" -#: stock/serializers.py:746 +#: stock/serializers.py:760 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:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Números de serie ya existen" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "Añadir nota de transacción (opcional)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Sub-ubicación" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "La parte debe ser vendible" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "El artículo está asignado a una orden de venta" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "El artículo está asignado a una orden de creación" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "Cliente para asignar artículos de stock" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "La empresa seleccionada no es un cliente" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Notas de asignación de stock" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "Debe proporcionarse una lista de artículos de stock" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Notas de fusión de stock" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Permitir proveedores no coincidentes" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 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:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Permitir estado no coincidente" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 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:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "Debe proporcionar al menos dos artículos de stock" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "Sin cambios" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Valor de clave primaria de Stock" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "No hay existencias del artículo" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Notas de transacción de stock" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "Órdenes de venta" msgid "Return Orders" msgstr "Ordenes de devolución" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Nombre de usuario" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Nombre" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Nombre del usuario" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Apellido" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Apellido del usuario" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Dirección de correo del usuario" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Superusuario" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Es este usuario un superusuario" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Esta cuenta de usuario está activa" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Su cuenta ha sido creada." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Por favor, utilice la función de restablecer la contraseña para iniciar sesión" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Bienvenido a InvenTree" diff --git a/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po index 9c0f2fd393..04f2d20859 100644 --- a/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/et/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:40\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Language: et_EE\n" @@ -104,13 +104,13 @@ msgstr "Pane kuupäev" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Märkmed" @@ -215,7 +215,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "E-post" @@ -336,51 +336,51 @@ msgstr "" msgid "Image" msgstr "Pilt" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Valuuta" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "Osa" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Valikuline" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +687,7 @@ msgstr "" msgid "Tracked" msgstr "Jälgitud" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -695,24 +695,24 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Asukoht" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "" @@ -861,16 +861,16 @@ msgstr "Koostamise olek" msgid "Build status code" msgstr "" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Loomise kuupäev" @@ -964,7 +964,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "" @@ -1099,378 +1099,378 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Osa nimi" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Tühista kõik laoseisu eraldised mahakantud väljundite jaoks" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Valikained" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Jälgitav" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Saadaval laos" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "Katkestatud" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "On link" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "On fail" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "Pluginat pole" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Mall" @@ -2148,7 +2148,7 @@ msgstr "Mall" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Andmed" @@ -2156,18 +2156,18 @@ msgstr "Andmed" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Märkus" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Failinimi" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Mudeli liik" @@ -2465,11 +2465,11 @@ msgstr "Mudeli liik" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Komponent" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Tootja" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Ettevõte" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "Laos" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Tarnija" msgid "Select supplier" msgstr "Vali tarnija" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Väli" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Veerg" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Staatus" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Saadetis" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "Kopeeri lisareaüksused algsest tellimusest" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Kopeeri parameetrid" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "Määrake selle tellimuse dubleerimise valikud" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "Vale tellimuse ID" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "Tootekood" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Vöötkood" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Skännitud ribakood" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "Saadetised" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "Järgmised seerianumbrid ei ole saadaval" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "Ikoon" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ikoon (valikuline)" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Osad" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "Osa kategooria" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Minimaalne laoseis" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Originaalosa" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Kopeeri pilt" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Kategooria nimi" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "Ehitamine" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Tarnija info" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Minimaalne hind" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Maksimaalne hind" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Uuenda" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "Tarnija osa number" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Kasutajanimi" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Eesnimi" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Perekonnanimi" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "" diff --git a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po index a3dd6f0e68..caebd96b9e 100644 --- a/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fa/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Persian\n" "Language: fa_IR\n" @@ -104,13 +104,13 @@ msgstr "تاریخ را وارد کنید" msgid "Invalid decimal value" msgstr "مقدار اعشاری نامعتبر است" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "یادداشت" @@ -215,7 +215,7 @@ msgstr "URL ارائه شده یک فایل تصویری معتبر نیست" msgid "Log in to the app" msgstr "وارد برنامه شوید" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "ایمیل" @@ -336,51 +336,51 @@ msgstr "یک خطا توسط سرور ثبت شده است." msgid "Image" msgstr "" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "باید یک عدد معتبر باشد" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "ارز" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "ارز را از گزینه های موجود انتخاب کنید" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "مقدار نامعتبر" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "تصویر ریموت" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "آدرس فایل تصویری از راه دور" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "دانلود تصاویر از URL ریموت فعال نیست" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "دانلود تصویر از URL ریموت انجام نشد" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "قطعه" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "دسته" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "مصرفی" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "اختیاری" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "مونتاژ" @@ -687,7 +687,7 @@ msgstr "مونتاژ" msgid "Tracked" msgstr "" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -695,24 +695,24 @@ msgstr "" msgid "Order Outstanding" msgstr "سفارش معوق" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "اختصاص داده شده" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "سفارش ساخت" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "مکان" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "مرجع سفارش فروش" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "منبع محل" @@ -861,16 +861,16 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "" @@ -964,7 +964,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "" @@ -1099,378 +1099,378 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "" @@ -2148,7 +2148,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2156,18 +2156,18 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "" diff --git a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po index 27dacfa79c..d4eb196998 100644 --- a/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:40\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Language: fi_FI\n" @@ -104,13 +104,13 @@ msgstr "Anna päivämäärä" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Merkinnät" @@ -215,7 +215,7 @@ msgstr "Annettu URL ei ole kelvollinen kuvatiedosto" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "Sähköposti" @@ -336,51 +336,51 @@ msgstr "" msgid "Image" msgstr "Kuva" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Täytyy olla kelvollinen luku" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Valuutta" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Valitse valuutta käytettävissä olevista vaihtoehdoista" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Virheellinen arvo" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "Kuvatiedoston URL" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Kuvien lataaminen ei ole käytössä" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "Osa" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Kategoria" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +687,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -695,24 +695,24 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Sijainti" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "" @@ -861,16 +861,16 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "" @@ -964,7 +964,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Varastotuote" @@ -1099,378 +1099,378 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Sarjanumerot" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Ei sallittu" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Seurattavissa" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "Peruttu" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "Käyttäjä" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Hinta" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktiivinen" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "" @@ -2148,7 +2148,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2156,18 +2156,18 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Muistiinpano" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Tiedostonimi" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Komponentti" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Valmistaja" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Yritys" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "" msgid "Select manufacturer" msgstr "Valitse valmistaja" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Valmistajan osanumero" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Toimittaja" msgid "Select supplier" msgstr "Valitse toimittaja" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Toimittajan varastonimike" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Tilauksen viite" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Tila" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Vastaanotettu" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Viivakoodi" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "Kuvake" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Kuvake (valinnainen)" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Valmistajan osanumero" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Käyttäjätunnus" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Etunimi" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Sukunimi" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "" diff --git a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po index d209872183..3cc62ea81e 100644 --- a/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/fr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: French\n" "Language: fr_FR\n" @@ -104,13 +104,13 @@ msgstr "Entrer la date" msgid "Invalid decimal value" msgstr "Valeur décimale invalide" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Notes" @@ -215,7 +215,7 @@ msgstr "L'URL fournie n'est pas un fichier image valide" msgid "Log in to the app" msgstr "Se connecter à l'application" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "E-mail" @@ -336,51 +336,51 @@ msgstr "Une erreur a été loguée par le serveur." msgid "Image" msgstr "Image" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Doit être un nombre valide" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Devise" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Sélectionnez la devise à partir des options disponibles" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "Ce champ ne peut pas être vide." -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Valeur non valide" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Images distantes" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URL du fichier image distant" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Le téléchargement des images depuis une URL distante n'est pas activé" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Échec du téléchargement de l'image à partir de l'URL distant" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "Format du type de contenu invalide" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "Type de contenu introuvable" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "Le type de contenu ne correspond pas à la classe de mixin requise" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Inclure les variantes" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Inclure les variantes" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Inclure les variantes" msgid "Part" msgstr "Pièce" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Catégorie" @@ -669,16 +669,16 @@ msgstr "Exclure l'arbre" msgid "Build must be cancelled before it can be deleted" msgstr "La construction doit être annulée avant de pouvoir être supprimée" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Consommable" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Facultatif" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Assemblage" @@ -687,7 +687,7 @@ msgstr "Assemblage" msgid "Tracked" msgstr "Suivi" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Testable" @@ -695,24 +695,24 @@ msgstr "Testable" msgid "Order Outstanding" msgstr "Commande en cours" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Allouée" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "Consommé" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "En Commande" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Ordre de Fabrication" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Emplacement" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "Sortie" @@ -783,7 +783,7 @@ msgstr "La date cible doit être postérieure à la date de début" msgid "Build Order Reference" msgstr "Référence de l' Ordre de Fabrication" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Bon de commande de référence" msgid "Sales Order to which this build is allocated" msgstr "Commande de vente à laquelle cette fabrication est allouée" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Emplacement d'origine" @@ -861,16 +861,16 @@ msgstr "État de la construction" msgid "Build status code" msgstr "Code de statut de construction" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Code de lot" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Code de lot pour ce build output" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Date de création" @@ -964,7 +964,7 @@ 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:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 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" @@ -980,23 +980,23 @@ msgstr "L'ordre de production a déjà été réalisé" msgid "Build output does not match Build Order" msgstr "L'ordre de production de correspond pas à l'ordre de commande" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "La quantité doit être supérieure à zéro" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 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:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "Les sorties de fabrication n'ont pas passé tous les tests requis" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, 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" @@ -1017,10 +1017,10 @@ msgstr "Poste de l'ordre de construction" msgid "Build object" msgstr "Création de l'objet" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Création de l'objet" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "La quantité allouée ({q}) ne doit pas excéder la quantité disponible msgid "Stock item is over-allocated" msgstr "L'article de stock est suralloué" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Article en stock" @@ -1099,378 +1099,378 @@ msgstr "Stock de destination de l'article" msgid "Build Level" msgstr "Niveau de construction" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Nom de l'article" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Sortie d'assemblage" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "L'ordre de production ne correspond pas à l'ordre parent" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "La pièce en sortie ne correspond pas à la pièce de l'ordre de construction" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Cet ordre de production a déjà été produit" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Cet ordre de production n'est pas complètement attribué" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Entrer la quantité désiré pour la fabrication" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Quantité entière requise pour les pièces à suivre" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantité entière requise, car la facture de matériaux contient des pièces à puce" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Numéros de série" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Entrer les numéros de séries pour la fabrication" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Emplacement de stock pour la sortie de la fabrication" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Allouer automatiquement les numéros de série" -#: build/serializers.py:378 +#: build/serializers.py:385 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:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Les numéros de série suivants existent déjà, ou sont invalides" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Une liste d'ordre de production doit être fourni" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Emplacement du stock pour les sorties épuisées" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Ignorer les allocations" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Abandonner les allocations de stock pour les sorties abandonnées" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Motif de l'élimination des produits de construction(s)" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Emplacement des ordres de production achevés" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Accepter l'allocation incomplète" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Compléter les sorties si le stock n'a pas été entièrement alloué" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Consommation du stock alloué" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Consommer tout stock qui a déjà été alloué à cette construction" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Retirer les sorties incomplètes" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Supprimer toutes les sorties de construction qui n'ont pas été complétées" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Non permis" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Accepter comme consommé par cet ordre de construction" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Désaffecter avant de terminer cette commande de fabrication" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Stock suralloué" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Comment voulez-vous gérer les articles en stock supplémentaires assignés à l'ordre de construction" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Certains articles de stock ont été suralloués" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Accepter les non-alloués" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepter les articles de stock qui n'ont pas été complètement alloués à cette ordre de production" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "Le stock requis n'a pas encore été totalement alloué" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Accepter les incomplèts" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accepter que tous les ordres de production n'aient pas encore été achevés" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "La quantité nécessaire n'a pas encore été complétée" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "L'ordre de construction a des ordres de construction enfants ouverts" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "L'ordre de construction doit être en état de production" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "L'ordre de production a des sorties incomplètes" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Chaîne d'assemblage" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Sortie d'assemblage" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "La sortie de la construction doit pointer vers la même construction" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Élément de la ligne de construction" -#: build/serializers.py:926 +#: build/serializers.py:933 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:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "L'article doit être en stock" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantité disponible ({q}) dépassée" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "La sortie de construction doit être spécifiée pour l'allocation des pièces suivies" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "La sortie de la construction ne peut pas être spécifiée pour l'allocation des pièces non suivies" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Les articles d'allocation doivent être fournis" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Emplacement de stock où les pièces doivent être fournies (laissez vide pour les prendre à partir de n'importe quel emplacement)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Emplacements exclus" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Exclure les articles de stock de cet emplacement sélectionné" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Stock interchangeable" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Les articles de stock à plusieurs emplacements peuvent être utilisés de manière interchangeable" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Stock de substitution" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Autoriser l'allocation de pièces de remplacement" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Objets Optionnels" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Affecter des éléments de nomenclature facultatifs à l'ordre de fabrication" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "Référence de la nomenclature" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "ID de la pièce de la nomenclature" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "Nomenclature Nom de la pièce" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "Construire" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Pièce fournisseur" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Quantité allouée" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "Référence de construction" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Nom de la catégorie de pièces" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Traçable" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Reçu de quelqu'un" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Autoriser les variantes" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Article du BOM" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "En Production" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "Planifié pour fabrication" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Stock externe" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Stock disponible" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Stock de substitution disponible" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Stock de variantes disponibles" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "La quantité consommée dépasse la quantité allouée" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "Note optionnelle pour la consommation du stock" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "L'article fabriqué doit pointer vers l'ordre de fabrication correct" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "Dupliquer l'allocation de l'article de fabrication" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "L'article fabriqué doit pointer vers l'ordre de fabrication correct" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "Dupliquer l'allocation de ligne de fabrication" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "Au moins un élément ou une ligne doit être fourni" @@ -1494,7 +1494,7 @@ msgstr "En pause" msgid "Cancelled" msgstr "Annulé" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Ordre de commande en retard" msgid "Build order {bo} is now overdue" msgstr "L'ordre de commande {bo} est maintenant en retard" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "C'est un lien" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "C'est un fichier" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "L'utilisateur n'a pas les permissions de supprimer cette pièce jointe" @@ -1550,7 +1550,7 @@ msgstr "Aucun code de devise valide fourni" msgid "No plugin" msgstr "Pas de plugin" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Code du projet Étiquette" @@ -1628,7 +1628,7 @@ msgstr "Utilisateur" msgid "Price break quantity" msgstr "Quantité de rupture de prix" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Prix" @@ -1652,7 +1652,7 @@ msgstr "Nom de ce webhook" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Actif" @@ -2126,7 +2126,7 @@ msgstr "Paramètres" msgid "Invalid choice for parameter value" msgstr "Choix incorrect pour la valeur du paramètre" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "Type de modèle non valide pour la pièce jointe" @@ -2140,7 +2140,7 @@ msgstr "ID du modèle cible pour ce paramètre" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Modèle" @@ -2148,7 +2148,7 @@ msgstr "Modèle" msgid "Parameter template" msgstr "Modèle de paramètre" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Données" @@ -2156,18 +2156,18 @@ msgstr "Données" msgid "Parameter Value" msgstr "Valeur du paramètre" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Note" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Champ de notes facultatif" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Nom du fichier" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Type de modèle" @@ -2465,11 +2465,11 @@ msgstr "Type de modèle" 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:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "L'utilisateur n'a pas le droit de créer ou de modifier les paramètres de ce modèle." -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "La liste de sélection est verrouillée" @@ -2859,8 +2859,8 @@ msgstr "Les pièces sont des templates par défaut" msgid "Parts can be assembled from other components by default" msgstr "Les pièces peuvent être assemblées à partir d'autres composants par défaut" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Composant" @@ -3988,33 +3988,33 @@ msgstr "La pièce est active" msgid "Manufacturer is Active" msgstr "Le fabricant est actif" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "Le fournisseur de la pièce est active" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "La pièce interne est active" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "Le fournisseur est actif" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Fabricant" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Société" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "A du stock" @@ -4195,7 +4195,7 @@ msgstr "Notes internes pour la livraison" msgid "Link to address information (external)" msgstr "Lien vers les informations de l'adresse (externe)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Pièces du fabricant" @@ -4213,12 +4213,12 @@ msgstr "Sélectionner une partie" msgid "Select manufacturer" msgstr "Sélectionner un fabricant" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "Référence fabricant" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Référence du fabricant" @@ -4242,8 +4242,8 @@ msgstr "Les unités d'emballage doivent être supérieures à zéro" 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:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Fournisseur" msgid "Select supplier" msgstr "Sélectionner un fournisseur" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Unité de gestion des stocks des fournisseurs" @@ -4290,8 +4290,8 @@ msgstr "coût de base" msgid "Minimum charge (e.g. stocking fee)" msgstr "Frais minimums (par exemple frais de stock)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Conditionnement" @@ -4339,14 +4339,18 @@ msgstr "Devise par défaut utilisée pour ce fournisseur" msgid "Company Name" msgstr "Nom de l'entreprise" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "En Stock" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "Ruptures de prix" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "Une erreur s'est produite lors de l'exportation des données" @@ -4451,67 +4455,67 @@ msgstr "ID" msgid "Existing database identifier for the record" msgstr "Identifiant de base de données existant pour l'enregistrement" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "La colonne est déjà associée à un champ de la base de données" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "Le champ est déjà associé à une colonne de données" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "Le mappage des colonnes doit être lié à une session d'importation valide" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "La colonne n'existe pas dans le fichier de données" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "Le champ n'existe pas dans le modèle cible" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "Le champ sélectionné est en lecture seule" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "Session d'importation" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Champ d'application" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Colonne" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "Index des lignes" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "Données de la ligne d'origine" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "Erreurs" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Valide" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "L'ID est requis pour mettre à jour les enregistrements existants." -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "Aucun enregistrement trouvé avec l'ID fourni" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "Format d'ID invalide" @@ -4821,7 +4825,7 @@ msgstr "Commande" msgid "Order Complete" msgstr "Commande Complétée" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Pièces Internes" @@ -4918,7 +4922,7 @@ msgstr "Date de début" msgid "Scheduled start date for this order" msgstr "Date de début prévue pour cette commande" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Date Cible" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Référence de la commande" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "État" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Reçu" msgid "Number of items received" msgstr "Nombre d'éléments reçus" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Prix d'achat" @@ -5211,8 +5215,8 @@ msgstr "Vérifié par" msgid "User who checked this shipment" msgstr "Utilisateur qui a vérifié cet envoi" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Envoi" @@ -5277,7 +5281,7 @@ msgstr "La quantité d'allocation ne peut pas excéder la quantité en stock" msgid "Allocation quantity must be greater than zero" msgstr "La quantité allouée doit être supérieure à zéro" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantité doit être égale à 1 pour un article de stock sérialisé" @@ -5393,7 +5397,7 @@ msgstr "Copier les lignes supplémentaires" msgid "Copy extra line items from the original order" msgstr "Copier les postes supplémentaires de l'ordre original" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Copier les paramètres" @@ -5412,216 +5416,216 @@ msgstr "Postes de travail" msgid "Completed Lines" msgstr "Lignes achevées" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "Duplicata de commande" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "Spécifier les options de duplication de cette commande" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "ID de commande invalide" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Nom du fournisseur" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "La commande ne peut pas être annulée" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Permettre la clôture d'une commande avec des postes incomplets" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "La commande comporte des postes incomplets" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "La commande n'est pas ouverte" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "Tarification automobile" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Calculer automatiquement le prix d'achat sur la base des données de pièces du fournisseur" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Devise du prix d'achat" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "Fusionner des éléments" -#: order/serializers.py:691 +#: order/serializers.py:728 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:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "Unité de gestion des stocks" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Numéro de pièce interne" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "Nom de la pièce interne" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "La pièce du fournisseur doit être spécifiée" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "Le bon de commande doit être spécifié" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "Le fournisseur doit correspondre au bon de commande" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "Le bon de commande doit correspondre au fournisseur" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Poste" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Sélectionner le lieu de destination des envois reçus" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Saisir le code de lot pour les articles de stock entrant" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Date d'expiration" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "Saisir la date d'expiration des articles de stock entrant" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Entrez les numéros de série pour les articles de stock entrants" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "Remplacer les informations d'emballage pour les articles en stock entrants" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "Note supplémentaire pour les articles en stock entrant" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Code-barres" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Code-barres scanné" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Le code-barres est déjà utilisé" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Les postes doivent être fournis" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "L'emplacement de la destination doit être spécifié" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "Les valeurs de code-barres fournies doivent être uniques" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "Envois" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Envois terminés" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "Lignes allouées" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Devise du prix de vente" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "Postes alloués" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "Aucun détail sur l'expédition n'est fourni" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "Le poste n'est pas associé à cette commande" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "La quantité doit être positive" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Entrez les numéros de série à allouer" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "L'envoi a déjà été effectué" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "L'envoi n'est pas associé à cette commande" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "Aucune correspondance trouvée pour les numéros de série suivants" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "Les numéros de série suivants sont indisponibles" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "Poste de commande de retour" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "Le poste ne correspond pas à l'ordre de retour" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "Le poste a déjà été reçu" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Les articles ne peuvent être reçus que pour des commandes en cours" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "Quantité à retourner" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Devise du prix de la ligne" @@ -5837,7 +5841,7 @@ msgstr "Mots-clés par défaut pour les pièces de cette catégorie" msgid "Icon" msgstr "Icône" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Icône (facultatif)" @@ -5858,7 +5862,7 @@ msgstr "Valeur par Défaut" msgid "Default Parameter Value" msgstr "Valeur par défaut du paramètre" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Pièces" @@ -5973,7 +5977,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:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6006,7 +6010,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:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Stock Minimum" @@ -6487,355 +6491,355 @@ msgstr "Il n'est pas possible de créer une relation entre une pièce et elle-m msgid "Duplicate relationship already exists" msgstr "Une relation en double existe déjà" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "Catégorie de parents" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "Catégorie de pièce mère" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Sous-catégories" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "Résultats" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "Nombre de résultats enregistrés par rapport à ce modèle" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Devise d'achat de l'item" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "Le fichier n'est pas une image" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Partie originale" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Sélectionner la partie originale à dupliquer" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Copier l'image" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Copier l'image à partir de la partie originale" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Copier la nomenclature" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "Copie de la nomenclature de la pièce originale" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "Copie des données de paramètres de la pièce d'origine" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Notes sur la copie" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "Copier les notes de la partie originale" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "Test Copie" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Quantité de stock initial" -#: part/serializers.py:448 +#: part/serializers.py:451 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:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "Emplacement initial du stock" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "Spécifier l'emplacement du stock initial pour cette pièce" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "Sélectionner le fournisseur (ou laisser en blanc pour passer)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "Sélectionner le fabricant (ou laisser en blanc pour ignorer)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Numéro de pièce du fabricant" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "L'entreprise sélectionnée n'est pas un fournisseur valide" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "L'entreprise sélectionnée n'est pas un fabricant valide" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "La pièce du fabricant correspondant à ce MPN existe déjà" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "La pièce du fournisseur correspondant à cette UGS existe déjà" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Nom catégorie" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "Construction" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "Quantité de cette pièce actuellement en production" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Quantité exceptionnelle de cette pièce sont planifié à la fabrication" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Éléments en stock" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "Révisions" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Stock total" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "Stock non attribué" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "Variante Stock" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Dupliquer une pièce" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "Copier les données initiales d'une autre partie" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Stock initial" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Créer une pièce avec une quantité de stock initiale" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Informations sur le fournisseur" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "Ajouter les informations initiales du fournisseur pour cette pièce" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Copier les paramètres de la catégorie" -#: part/serializers.py:966 +#: part/serializers.py:993 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:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Image existante" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "Nom de fichier d'une image de pièce existante" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "Le fichier image n'existe pas" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Valider l'ensemble de la nomenclature" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Peut construire" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "Nécessaire pour fabrication" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "Alloué à la fabrication" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "Nécessaire pour les commandes" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "Alloué aux commandes" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Prix Minimum" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Remplacer la valeur calculée pour le prix minimum" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Prix minimum monnaie" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Prix Maximum" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "Remplacer la valeur calculée pour le prix maximum" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Devise du prix maximum" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Mise à jour" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "Mise à jour des prix pour cette pièce" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, 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:1528 +#: part/serializers.py:1560 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:1531 +#: part/serializers.py:1563 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:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "Sélectionner l'assemblage parent" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "Sélectionner le composant" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "Sélectionner la pièce à partir de laquelle copier la nomenclature" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Supprimer les données existantes" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "Supprimer les postes de nomenclature existants avant de les copier" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Inclure l'héritage" -#: part/serializers.py:1942 +#: part/serializers.py:2006 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:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Sauter les lignes non valides" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Activez cette option pour ignorer les lignes non valides" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Copier les pièces de remplacement" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copie de pièces de rechange en cas de duplication de postes de nomenclature" @@ -8288,7 +8292,7 @@ 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:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Éléments installés" @@ -8361,7 +8365,7 @@ msgstr "Filtrer par lieux de premier niveau" msgid "Include sub-locations in filtered results" msgstr "Inclure les sous-emplacements dans les résultats filtrés" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "Emplacement parent" @@ -8445,7 +8449,7 @@ msgstr "Date d'expiration avant" msgid "Expiry date after" msgstr "Date d’expiration après" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "Périmé" @@ -8579,7 +8583,7 @@ msgstr "La pièce doit être spécifiée" msgid "Stock items cannot be located into structural stock locations!" msgstr "Les articles en stock ne peuvent pas être localisés dans des emplacements de stock structurel !" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "Il n'est pas possible de créer un article de stock pour les pièces virtuelles" @@ -8624,7 +8628,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:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "L'emballage de cet article en stock est stocké dans" @@ -8640,7 +8644,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:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Code de lot pour cet article de stock" @@ -8753,7 +8757,7 @@ msgstr "L'article de stock est actuellement en production" msgid "Serialized stock cannot be merged" msgstr "Le stock sérialisé ne peut pas être fusionné" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "Articles de stock en double" @@ -8877,7 +8881,7 @@ msgstr "Sélectionner la pièce pour laquelle un numéro de série doit être g msgid "Quantity of serial numbers to generate" msgstr "Nombre de numéros de série à générer" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "Modèle de test pour ce résultat" @@ -8901,222 +8905,222 @@ msgstr "Article Parent" msgid "Parent stock item" msgstr "Article de stock parent" -#: stock/serializers.py:451 +#: stock/serializers.py:454 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:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "Entrez les numéros de série pour les nouveaux articles" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "Référence du fournisseur" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "Expiré" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Éléments enfants" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "Suivi des éléments" -#: stock/serializers.py:654 +#: stock/serializers.py:668 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:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "Entrez le nombre d'articles en stock à sérialiser" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, 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:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "Emplacement du stock de destination" -#: stock/serializers.py:746 +#: stock/serializers.py:760 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:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Les numéros de série existent déjà" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "Sélectionner l'article de stock à installer" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "Quantité à installer" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "Saisir la quantité d'articles à installer" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "Ajouter une note de transaction (facultatif)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "La quantité à installer doit être d'au moins 1" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "L'article en stock n'est pas disponible" -#: stock/serializers.py:856 +#: stock/serializers.py:870 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:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "La quantité à installer ne doit pas dépasser la quantité disponible" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "Emplacement de destination de l'élément désinstallé" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "Sélectionner la pièce à convertir en article de stock" -#: stock/serializers.py:955 +#: stock/serializers.py:969 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:972 +#: stock/serializers.py:986 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:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "Code d'état de l'article en stock" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "Sélectionner les articles en stock pour modifier leur statut" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "Aucun article en stock n'a été sélectionné" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Sous-localisations" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "Emplacement du stock mère" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "La pièce doit être vendable" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "L'article est affecté à une commande client" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "L'article est attribué à un ordre de fabrication" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "Affectation d'articles en stock par le client" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "L'entreprise sélectionnée n'est pas un client" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Notes d'affectation des stocks" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "Une liste des articles en stock doit être fournie" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Notes sur les fusions d'actions" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Autoriser les fournisseurs non concordants" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 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:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Autoriser la non-concordance des statuts" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 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:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "Au moins deux articles en stock doivent être fournis" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "Pas de changement" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Valeur de la clé primaire StockItem" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "L'article n'est plus en stock" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Notes sur les transactions boursières" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "Numéro de série suivant" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "Numéro de série précédent" @@ -9598,99 +9602,99 @@ msgstr "Ventes" msgid "Return Orders" msgstr "Commandes de retour" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Nom d'utilisateur" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Prénom" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Prénom de l'utilisateur" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Nom" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Nom de famille de l'utilisateur" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Adresse e-mail de l'utilisateur" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Super-utilisateur" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Cet utilisateur est-il un super-utilisateur" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Ce compte d'utilisateur est-il actif" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "Seul un superutilisateur peut modifier ce champ" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "Mot de passe" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "Mot de passe pour l'utilisateur" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "Écraser l'alerte sur les règles de mot de passe" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "Vous n'avez pas le droit de créer des utilisateurs" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Votre compte a été créé." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Veuillez utiliser la fonction de réinitialisation du mot de passe pour vous connecter" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Bienvenue dans InvenTree" diff --git a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po index 71eaa7ef26..cea6193d22 100644 --- a/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/he/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Language: he_IL\n" @@ -104,13 +104,13 @@ msgstr "הזן תאריך סיום" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "" @@ -215,7 +215,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "אימייל" @@ -336,51 +336,51 @@ msgstr "נרשמה שגיאה על ידי השרת." msgid "Image" msgstr "" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "המספר חייב להיות תקין" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "מטבע" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "בחר מטבע מהאפשרויות הזמינות" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "רכיב" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +687,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -695,24 +695,24 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "" @@ -861,16 +861,16 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "" @@ -964,7 +964,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "" @@ -1099,378 +1099,378 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "מספרים סידוריים" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "מבוטל" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "משתמש" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "" @@ -2148,7 +2148,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2156,18 +2156,18 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "שם קובץ" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "שם משתמש" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "שם פרטי" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "" diff --git a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po index 7ff7a8925b..1fa7a1b5a4 100644 --- a/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Language: hi_IN\n" @@ -104,13 +104,13 @@ msgstr "तारीख दर्ज करें" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "" @@ -215,7 +215,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "ई-मेल" @@ -336,51 +336,51 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +687,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -695,24 +695,24 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "" @@ -861,16 +861,16 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "" @@ -964,7 +964,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "" @@ -1099,378 +1099,378 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "" @@ -2148,7 +2148,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2156,18 +2156,18 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "" diff --git a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po index 07e816734e..ea1f5d9cd2 100644 --- a/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/hu/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Language: hu_HU\n" @@ -104,13 +104,13 @@ msgstr "Dátum megadása" msgid "Invalid decimal value" msgstr "Érvénytelen decimális érték" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Megjegyzések" @@ -215,7 +215,7 @@ msgstr "A megadott URL nem egy érvényes kép fájl" msgid "Log in to the app" msgstr "Bejelentkezés az appba" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "Email" @@ -336,51 +336,51 @@ msgstr "A kiszolgáló egy hibaüzenetet rögzített." msgid "Image" msgstr "Kép" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Érvényes számnak kell lennie" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Pénznem" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Válassz pénznemet a lehetőségek közül" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "Ez a mező nem lehet null." -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Érvénytelen érték" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Távoli kép" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "A távoli kép URL-je" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Képek letöltése távoli URL-ről nem engedélyezett" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Nem sikerült letölteni a képet a távoli URL-ről" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "Érvénytelen tartalomtípus-formátum" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "Tartalomtípus nem található" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "A tartalomtípus nem egyezik a szükséges mixin osztállyal" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Változatokkal együtt" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Változatokkal együtt" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Változatokkal együtt" msgid "Part" msgstr "Alkatrész" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Kategória" @@ -669,16 +669,16 @@ msgstr "Fa kihagyása" msgid "Build must be cancelled before it can be deleted" msgstr "A gyártást be kell fejezni a törlés előtt" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Fogyóeszköz" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Opcionális" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Gyártmány" @@ -687,7 +687,7 @@ msgstr "Gyártmány" msgid "Tracked" msgstr "Követett" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Ellenőrizhető" @@ -695,24 +695,24 @@ msgstr "Ellenőrizhető" msgid "Order Outstanding" msgstr "Befejezetlen rendelés" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Lefoglalva" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "Felhasználva" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "Rendelve" @@ -727,19 +727,19 @@ msgstr "Gyártás nem található" msgid "Build Order" msgstr "Gyártási utasítás" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Hely" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "Kimenet" @@ -783,7 +783,7 @@ msgstr "Céldátumnak a kezdeti dátum után kell lennie" msgid "Build Order Reference" msgstr "Gyártási utasítás azonosító" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Vevői rendelés azonosító" msgid "Sales Order to which this build is allocated" msgstr "Vevői rendelés, amelyhez ez a gyártás tartozik" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Forrás hely" @@ -861,16 +861,16 @@ msgstr "Gyártási állapot" msgid "Build status code" msgstr "Gyártás státusz kód" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Batch kód" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Batch kód a gyártás kimenetéhez" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Létrehozás dátuma" @@ -964,7 +964,7 @@ 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:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "Egyedi követésre jelölt alkatrészeknél kötelező sorozatszámot megadni" @@ -980,23 +980,23 @@ msgstr "Gyártási kimenet már kész" 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:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Mennyiségnek nullánál többnek kell lennie" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 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:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "A gyártási kimenet nem felelt meg az összes kötelező teszten" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, 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" @@ -1017,10 +1017,10 @@ msgstr "Gyártási Rendelés Sor Tétel" msgid "Build object" msgstr "Gyártás objektum" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Gyártás objektum" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "A lefoglalt mennyiség ({q}) nem lépheti túl a szabad készletet ({a}) msgid "Stock item is over-allocated" msgstr "Készlet túlfoglalva" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Készlet tétel" @@ -1099,379 +1099,379 @@ msgstr "Cél készlet tétel" msgid "Build Level" msgstr "Gyártási Szint" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Alkatrész neve" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Gyártás kimenet" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Gyártási kimenet nem egyezik a szülő gyártással" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Kimeneti alkatrész nem egyezik a gyártási utasításban lévő alkatrésszel" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Ez a gyártási kimenet már elkészült" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Ez a gyártási kimenet nincs teljesen lefoglalva" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Add meg a mennyiséget a gyártás kimenetéhez" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Egész számú mennyiség szükséges az egyedi követésre kötelezett alkatrészeknél" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Egész számú mennyiség szükséges, mivel az alkatrészjegyzék egyedi követésre kötelezett alkatrészeket tartalmaz" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Sorozatszámok" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Add meg a sorozatszámokat a gyártás kimenetéhez" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Legyártott készlet helye" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Sorozatszámok automatikus hozzárendelése" -#: build/serializers.py:378 +#: build/serializers.py:385 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:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "A következő sorozatszámok már léteznek vagy nem megfelelőek" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "A gyártási kimenetek listáját meg kell adni" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Selejtezet gyártási kimenetek helye" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Foglalások törlése" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Selejtezett kimenetek foglalásainak felszabadítása" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Selejtezés oka" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "A kész gyártási kimenetek helye" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Hiányos foglalás elfogadása" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Kimenetek befejezése akkor is ha a készlet nem\n" "lett teljesen lefoglalva" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Lefoglalt készlet felhasználása" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Az összes ehhez a gyártáshoz lefoglalt készlet felhasználása" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Befejezetlen kimenetek törlése" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "A nem befejezett gyártási kimenetek törlése" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Nem engedélyezett" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Gyártásban fel lett használva" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Foglalás felszabadítása a készre jelentés előtt" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Túlfoglalt készlet" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hogyan kezeljük az gyártáshoz rendelt egyéb készletet" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Pár készlet tétel túl lett foglalva" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Kiosztatlanok elfogadása" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Fogadd el hogy a készlet tételek nincsenek teljesen lefoglalva ehhez a gyártási utastáshoz" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "A szükséges készlet nem lett teljesen lefoglalva" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Befejezetlenek elfogadása" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Fogadd el hogy a szükséges számú gyártási kimenet nem lett elérve" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "Szükséges gyártási mennyiség nem lett elérve" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "A Gyártásnak nyitott leszármazott Gyártása van" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "A Gyártásnak folyamatban kell lennie" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "A gyártási utasítás befejezetlen kimeneteket tartalmaz" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Gyártás sor" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Gyártás kimenet" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "A gyártási kimenetnek ugyanarra a gyártásra kell mutatnia" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Gyártás sor tétel" -#: build/serializers.py:926 +#: build/serializers.py:933 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:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "A tételnek kell legyen készlete" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Rendelkezésre álló mennyiség ({q}) túllépve" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "Gyártási kimenetet meg kell adni a követésre kötelezett alkatrészek lefoglalásához" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Gyártási kimenetet nem lehet megadni a követésre kötelezett alkatrészek lefoglalásához" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "A lefoglalandó tételeket meg kell adni" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Készlet hely ahonnan az alkatrészek származnak (hagyd üresen ha bárhonnan)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Hely kizárása" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Készlet tételek kizárása erről a kiválasztott helyről" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Felcserélhető készlet" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "A különböző helyeken lévő készlet egyenrangúan felhasználható" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Készlet helyettesítés" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Helyettesítő alkatrészek foglalásának engedélyezése" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Opcionális tételek" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Opcionális tételek lefoglalása a gyártáshoz" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "Összes elem" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "Nem követett tételek" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "Követett tételek" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "Tétel típusa" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "Válasszon tétel típust az automatikus foglaláshoz" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "Alkatrészjegyzék Hivatkozás" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "Alkatrészjegyzék Cikk Azonosító" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "Alkatrészjegyzék Alkatrész Név" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "Beépítés helye" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "Gyártás" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Beszállítói alkatrész" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Lefoglalt mennyiség" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "Gyártási Hivatkozás" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Alkatrész kategória Neve" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Követésre kötelezett" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Örökölt" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Változatok" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Alkatrészjegyzék tétel" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "Gyártásban" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "Gyártás Ütemezve" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Külső raktárkészlet" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Elérhető készlet" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Elérhető Helyettesítő Készlet" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Elérhető Készlet Változatokból" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "Felhasznált mennyiség meghaladja a lefoglalt mennyiséget" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "Megjegyzés a készletfelhasználáshoz" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "Gyártási tételnek a megfelelő gyártási rendelésre kell mutatnia" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "Dupla gyártási tétel lefoglalás" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "Gyártási sornak a megfelelő gyártási rendelésre kell mutatnia" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "Duplikált gyártási sor foglalás" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "Legalább egy tétel vagy sor megadása kötelező" @@ -1495,7 +1495,7 @@ msgstr "Felfüggesztve" msgid "Cancelled" msgstr "Törölve" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1519,19 +1519,19 @@ msgstr "Késésben lévő gyártás" msgid "Build order {bo} is now overdue" msgstr "A {bo} gyártás most már késésben van" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "Ez egy hivatkozás" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "Ez egy állomány" -#: common/api.py:790 +#: common/api.py:777 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:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "A felhasználó nem jogosult ezen melléklet törlésére" @@ -1551,7 +1551,7 @@ msgstr "Hiányzó érvényes valuta kód" msgid "No plugin" msgstr "Nincsen plugin" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Projekt kód címke" @@ -1629,7 +1629,7 @@ msgstr "Felhasználó" msgid "Price break quantity" msgstr "Ársáv mennyiség" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Ár" @@ -1653,7 +1653,7 @@ msgstr "Webhook neve" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktív" @@ -2127,7 +2127,7 @@ msgstr "Paraméterek" msgid "Invalid choice for parameter value" msgstr "Hibás választás a paraméterre" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "Érvénytelen modelltípus megadva a paraméterhez" @@ -2141,7 +2141,7 @@ msgstr "A célmodell azonosítója ehhez a paraméterhez" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Sablon" @@ -2149,7 +2149,7 @@ msgstr "Sablon" msgid "Parameter template" msgstr "Paraméter sablon" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Adat" @@ -2157,18 +2157,18 @@ msgstr "Adat" msgid "Parameter Value" msgstr "Paraméter értéke" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Megjegyzés" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Opcionális megjegyzés mező" @@ -2457,7 +2457,7 @@ msgid "Filename" msgstr "Fájlnév" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Modell típusa" @@ -2466,11 +2466,11 @@ msgstr "Modell típusa" 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:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "A felhasználónak nincs jogosultsága paraméterek létrehozására vagy szerkesztésére ehhez a modellhez" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "Választéklista lezárva" @@ -2860,8 +2860,8 @@ msgstr "Alkatrészek alapból sablon alkatrészek legyenek" msgid "Parts can be assembled from other components by default" msgstr "Alkatrészeket alapból lehessen gyártani másik alkatrészekből" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Összetevő" @@ -3989,33 +3989,33 @@ msgstr "Az alkatrész aktív" msgid "Manufacturer is Active" msgstr "A Gyártó Aktív" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "A Szállítói Alkatrész Aktív" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "A saját alkatrész Aktív" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "A Beszállító Aktív" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Gyártó" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Cég" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "Van készleten" @@ -4196,7 +4196,7 @@ msgstr "Szállítási megjegyzések belső használatra" msgid "Link to address information (external)" msgstr "Link a címinformációkhoz (külső)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Gyártói alkatrész" @@ -4214,12 +4214,12 @@ msgstr "Válassz alkatrészt" msgid "Select manufacturer" msgstr "Gyártó kiválasztása" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "MPN (Gyártói cikkszám)" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Gyártói cikkszám" @@ -4243,8 +4243,8 @@ msgstr "Csomagolási mennyiségnek nullánál többnek kell lennie" 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:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4255,7 +4255,7 @@ msgstr "Beszállító" msgid "Select supplier" msgstr "Beszállító kiválasztása" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Beszállítói cikkszám" @@ -4291,8 +4291,8 @@ msgstr "alap költség" msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimális díj (pl. tárolási díj)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Csomagolás" @@ -4340,14 +4340,18 @@ msgstr "Beszállító által használt alapértelmezett pénznem" msgid "Company Name" msgstr "Cégnév" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "Készleten" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "Árkategóriák" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "Hiba történt adatexportálás közben" @@ -4452,67 +4456,67 @@ msgstr "ID" msgid "Existing database identifier for the record" msgstr "Létező adatbázis azonosító a rekordhoz" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "Oszlop már adatbázis mezőhöz lett rendelve" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "Adatbázis mező már adatfájl oszlophoz lett rendelve" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "Az oszlop összerendelésnek egy helyes importálási művelethez kell kapcsolódnia" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "Az Oszlop nem létezik ebben a fájlban" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "A mező nem létezik a cél adatszerkezetben" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "Kijelölt mező csak olvasható" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "Importálási művelet" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Mező" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Oszlop" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "Sor száma" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "Eredeti sor adat" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "Hibák" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Érvényes" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "ID-ra van szükség meglévő rekord frissítéshez." -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "Nem található rekord a megadott ID-vel" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "Érvénytelen az ID formátuma" @@ -4822,7 +4826,7 @@ msgstr "Rendelés" msgid "Order Complete" msgstr "A rendelés teljesítve" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Belső alkatrész" @@ -4919,7 +4923,7 @@ msgstr "Kezdés dátuma" msgid "Scheduled start date for this order" msgstr "A tervezett kezdeti dátum ehhez a gyártáshoz" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Cél dátum" @@ -4957,7 +4961,7 @@ msgid "Order reference" msgstr "Rendelés azonosító" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Állapot" @@ -5014,7 +5018,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5140,7 +5144,7 @@ msgstr "Beérkezett" msgid "Number of items received" msgstr "Érkezett tételek száma" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Beszerzési ár" @@ -5212,8 +5216,8 @@ msgstr "Ellenőrizte" msgid "User who checked this shipment" msgstr "Felhasználó aki ellenőrizte ezt a szállítmányt" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Szállítmány" @@ -5278,7 +5282,7 @@ msgstr "A lefoglalandó mennyiség nem haladhatja meg a készlet mennyiségét" msgid "Allocation quantity must be greater than zero" msgstr "Lefoglalt mennyiségnek nullánál többnek kell lennie" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "Egyedi követésre kötelezett tételeknél a menyiség 1 kell legyen" @@ -5394,7 +5398,7 @@ msgstr "Extra sorok másolása" msgid "Copy extra line items from the original order" msgstr "Az eredeti rendelés extra tételeinek másolása" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Paraméterek másolása" @@ -5413,216 +5417,216 @@ msgstr "Sortételek" msgid "Completed Lines" msgstr "Kész sorok" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "Rendelés duplikálása" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "Rendelés másolás beállításai" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "Érvénytelen rendelés ID" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Beszállító neve" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "A rendelést nem lehet törölni" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Rendelés lezárása teljesítetlen sortételek esetén is" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "A rendelésben teljesítetlen sortételek vannak" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "A rendelés nem nyitott" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "Automata árazás" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Beszerzési ár automatikus számítása a beszállítói alkatrész adatai alapján" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Beszérzési ár pénzneme" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "Elemek összevonása" -#: order/serializers.py:691 +#: order/serializers.py:728 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:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "SKU (leltári azonosító)" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Belső cikkszám" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "Belső cikkszám" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "Beszállítói alkatrészt meg kell adni" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "Beszerzési rendelést meg kell adni" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "A beszállítónak egyeznie kell a beszerzési rendelésben lévővel" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "A beszerzési rendelésnek egyeznie kell a beszállítóval" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Sortétel" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Válassz cél helyet a beérkezett tételeknek" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Írd be a batch kódját a beérkezett tételeknek" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Lejárati dátum" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "Írd be a beérkező készlet tételek lejárati dátumát" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Írd be a sorozatszámokat a beérkezett tételekhez" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "Bejövő készlettételek csomagolási információjának felülbírálata" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "Kiegészítő megjegyzés beérkező készlettételekhez" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Vonalkód" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Beolvasott vonalkód" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Ez a vonalkód már használva van" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Sortételt meg kell adni" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "A cél helyet kötelező megadni" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "Megadott vonalkódoknak egyedieknek kel lenniük" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "Szállítások" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Kész szállítmányok" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Eladási ár pénzneme" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "Foglalt tételek" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "Nincsenek szállítmány részletek megadva" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "Sortétel nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "Mennyiség pozitív kell legyen" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Írd be a sorozatszámokat a kiosztáshoz" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "Szállítmány kiszállítva" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "Szállítmány nincs hozzárendelve ehhez a rendeléshez" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "Nincs találat a következő sorozatszámokra" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "Az alábbi sorozatszámok nem elérhetők" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "Visszavétel sortétel" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "Sortétel nem egyezik a visszavétellel" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "A sortétel már beérkezett" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Csak folyamatban lévő megrendelés tételeit lehet bevételezni" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "Visszaküldési mennyiség" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Sortétel pénzneme" @@ -5838,7 +5842,7 @@ msgstr "Ebben a kategóriában évő alkatrészek kulcsszavai alapban" msgid "Icon" msgstr "Ikon" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ikon (opcionális)" @@ -5859,7 +5863,7 @@ msgstr "Alapértelmezett érték" msgid "Default Parameter Value" msgstr "Alapértelmezett paraméter érték" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Alkatrészek" @@ -5974,7 +5978,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:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN (Belső Cikkszám)" @@ -6007,7 +6011,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:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Minimális készlet" @@ -6488,355 +6492,355 @@ msgstr "Alkatrész kapcsolat nem hozható létre önmagával" msgid "Duplicate relationship already exists" msgstr "Már létezik duplikált alkatrész kapcsolat" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "Szülő Kategória" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "Felsőbb szintű alkatrész kategória" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Alkategóriák" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "Eredmények" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "Eszerint a sablon szerint rögzített eredmények száma" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Beszerzési pénzneme ennek a készlet tételnek" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "A fájl nem kép" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Eredeti alkatrész" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Válassz eredeti alkatrészt a másoláshoz" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Kép másolása" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Kép másolása az eredeti alkatrészről" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Alkatrészjegyzék másolása" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "Alkatrészjegyzék másolása az eredeti alkatrészről" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "Paraméterek másolása az eredeti alkatrészről" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Megjegyzések másolása" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "Megjegyzések másolása az eredeti alkatrészről" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "Teszt másolása" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "Teszt sablonok másolása az eredeti alkatrészről" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Kezdeti készlet mennyiség" -#: part/serializers.py:448 +#: part/serializers.py:451 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:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "Kezdeti készlet hely" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "Add meg a kezdeti készlet helyét" -#: part/serializers.py:473 +#: part/serializers.py:476 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:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "Válassz gyártót (hagyd üresen ha nem kell létrehozni)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Gyártói cikkszám" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "A kiválasztott cég nem érvényes beszállító" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "A kiválasztott cég nem érvényes gyártó" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "Van már ilyen gyártói alkatrész" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "Van már ilyen beszállítói alkatrész" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Kategória neve" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "Gyártásban" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "Az alkatrészből jelenleg ennyi van gyártás alatt" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Már beütemezett de még nem kész gyártási mennyiség" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Készlet tételek" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "Verziók" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Teljes készlet" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "Nem lefoglalt készlet" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "Variánsok Raktárkészlet" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Alkatrész másolása" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "Kezdeti adatok másolása egy másik alkatrészről" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Kezdeti készlet" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Kezdeti készlet mennyiség létrehozása" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Beszállító információ" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "Kezdeti beszállító adatok hozzáadása" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Kategória paraméterek másolása" -#: part/serializers.py:966 +#: part/serializers.py:993 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:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Meglévő kép" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "A meglévő alkatrész képfájl neve" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "A képfájl nem létezik" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Teljes alkatrészjegyzék jóváhagyása" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Gyártható" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "Gyártásokhoz szükséges" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "Gyártási rendelésekhez foglalva" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "Értékesítési rendeléshez szükséges" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "Értékesítési rendeléshez lefoglalva" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Minimum ár" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Számított minimum ár felülbírálása" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Minimum ár pénzneme" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Maximum ár" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "Számított maximum ár felülbírálása" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Maximum ár pénzneme" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Frissítés" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "Alkatrész árak frissítése" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, 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:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "A Minimum ár nem lehet nagyobb mint a Maximum ár" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "A Maximum ár nem lehet kisebb mint a Minimum ár" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "Szülő összeállítás kiválasztása" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "Összetevő alkatrész kijelölése" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "Válassz alkatrészt ahonnan az alkatrészjegyzéket másoljuk" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Létező adat törlése" -#: part/serializers.py:1936 +#: part/serializers.py:2000 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:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Örököltekkel együtt" -#: part/serializers.py:1942 +#: part/serializers.py:2006 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:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Hibás sorok kihagyása" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Engedély a hibás sorok kihagyására" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Helyettesítő alkatrészek másolása" -#: part/serializers.py:1954 +#: part/serializers.py:2018 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" @@ -8289,7 +8293,7 @@ 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:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Beépített tételek" @@ -8362,7 +8366,7 @@ msgstr "Csúcs készlethelyre szűrés" msgid "Include sub-locations in filtered results" msgstr "Szűrt eredmények tartalmazzák az alhelyeket" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "Szülő hely" @@ -8446,7 +8450,7 @@ msgstr "Lejárat előtt" msgid "Expiry date after" msgstr "Lejárat után" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "Állott" @@ -8580,7 +8584,7 @@ msgstr "Alkatrész kiválasztása kötelező" msgid "Stock items cannot be located into structural stock locations!" msgstr "A szerkezeti raktári helyre nem lehet készletet felvenni!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "Virtuális alkatrészből nem lehet készletet létrehozni" @@ -8625,7 +8629,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:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "A csomagolása ennek a készlet tételnek itt van tárolva" @@ -8641,7 +8645,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:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Batch kód ehhez a készlet tételhez" @@ -8754,7 +8758,7 @@ msgstr "Készlet tétel gyártás alatt" msgid "Serialized stock cannot be merged" msgstr "Követésre kötelezett készlet nem vonható össze" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "Duplikált készlet tételek vannak" @@ -8878,7 +8882,7 @@ msgstr "Válassza ki az alkatrészt amihez sorozatszámot akar generálni" msgid "Quantity of serial numbers to generate" msgstr "Hány sorozatszámot generáljunk" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "Az eredmény Teszt sablonja" @@ -8902,222 +8906,222 @@ msgstr "Szülő tétel" msgid "Parent stock item" msgstr "Szülő készlet tétel" -#: stock/serializers.py:451 +#: stock/serializers.py:454 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:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "Csomagméret használata" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "Írd be a sorozatszámokat az új tételekhez" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "Beszállítói Cikkszám" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "Lejárt" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Gyermek tételek" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "Nyilvántartott tételek" -#: stock/serializers.py:654 +#: stock/serializers.py:668 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:692 +#: stock/serializers.py:706 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:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "Nincsen készlettétel megadva" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, 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:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "Cél készlet hely" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "Sorozatszámokat nem lehet hozzárendelni ehhez az alkatrészhez" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "A sorozatszámok már léteznek" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "Válaszd ki a beépítésre szánt készlet tételt" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "Beépítendő mennyiség" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "Adja meg a beépítendő mennyiséget" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "Tranzakció megjegyzés hozzáadása (opcionális)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "A beépítendő mennyiség legalább 1 legyen" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "Készlet tétel nem elérhető" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "A kiválasztott alkatrész nincs az alkatrészjegyzékben" -#: stock/serializers.py:869 +#: stock/serializers.py:883 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:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "Cél hely a kiszedett tételeknek" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "Válassz alkatrészt amire konvertáljuk a készletet" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "A kiválasztott alkatrész nem megfelelő a konverzióhoz" -#: stock/serializers.py:972 +#: stock/serializers.py:986 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:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "Készlet tétel státusz kódja" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 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:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "Nincs készlet tétel kiválasztva" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Alhelyek" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "Felsőbb szintű készlet hely" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "Az alkatrésznek értékesíthetőnek kell lennie" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "A tétel egy vevő rendeléshez foglalt" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "A tétel egy gyártási utasításhoz foglalt" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "Vevő akihez rendeljük a készlet tételeket" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "A kiválasztott cég nem egy vevő" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Készlet hozzárendelés megjegyzései" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "A készlet tételek listáját meg kell adni" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Készlet összevonás megjegyzései" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Nem egyező beszállítók megengedése" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 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:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Nem egyező állapotok megjelenítése" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 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:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "Legalább két készlet tételt meg kell adni" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "Nincs változás" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Készlet tétel elsődleges kulcs értéke" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "Készlettétel nincs készleten" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "Készlettétel már készleten van" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "Mennyiség nem lehet negatív" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Készlet tranzakció megjegyzései" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "Meglévő készletbe olvasztás" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "Visszaérkezett tételek beolvasztása a készlettételekbe ha lehetséges" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "Következő sorozatszám" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "Előző Sorozatszám" @@ -9599,99 +9603,99 @@ msgstr "Vevői rendelések" msgid "Return Orders" msgstr "Visszavételek" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Felhasználónév" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Keresztnév" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "A felhasználó keresztneve" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Vezetéknév" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "A felhasználó vezetékneve" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "A felhasználó e-mail címe" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Rendszergazda" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "A felhasználó rendszergazda-e" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Aktív a felhasználói fiók" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "Csak rendszergazda szerkesztheti ezt a mezőt" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "Jelszó" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "Felhasználó jelszava" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "Figyelmezetés felülbírálása" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "A jelszó szabályok figyelmeztetésének felülbírálata" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "Nincs jogosultsága felhasználót létrehozni" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "A fiókod sikeresen létrejött." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Kérlek használd a jelszó visszállítás funkciót a belépéshez" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Üdvözlet az InvenTree-ben" diff --git a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po index aaf7973fd5..15de8913de 100644 --- a/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/id/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Language: id_ID\n" @@ -104,13 +104,13 @@ msgstr "Masukkan tanggal" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Catatan" @@ -215,7 +215,7 @@ msgstr "URL yang diberikan bukan file gambar yang valid" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "Surel" @@ -336,51 +336,51 @@ msgstr "Sebuah kesalahan telah dicatat oleh server." msgid "Image" msgstr "" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Harus berupa angka yang valid" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Mata Uang" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Nilai tidak valid" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URL file gambar external" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Unduhan gambar dari URL external tidak aktif" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "Bagian" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Pesanan harus dibatalkan sebelum dapat dihapus" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +687,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -695,24 +695,24 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Order Produksi" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Lokasi" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "Referensi Order Produksi" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Referensi Order Penjualan" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Lokasi Sumber" @@ -861,16 +861,16 @@ msgstr "Status pembuatan" msgid "Build status code" msgstr "Kode status pembuatan" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Kode Kelompok" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Kode kelompok untuk hasil produksi ini" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Tanggal Pembuatan" @@ -964,7 +964,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "Hasil produksi sudah selesai" msgid "Build output does not match Build Order" msgstr "Hasil produksi tidak sesuai dengan order produksi" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Jumlah harus lebih besar daripada nol" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "Item stok teralokasikan terlalu banyak" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Stok Item" @@ -1099,378 +1099,378 @@ msgstr "Tujuan stok item" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Hasil Produksi" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Hasil produksi tidak sesuai dengan produksi induk" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Hasil bagian tidak sesuai dengan bagian dalam order produksi" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Hasil produksi ini sudah diselesaikan" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Hasil produksi tidak dialokasikan sepenuhnya" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Masukkan jumlah hasil pesanan" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Jumlah bagian yang dapat dilacak harus berupa angka bulat" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Jumlah harus angka bulat karena terdapat bagian yang dapat dilacak dalam daftar barang" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Nomor Seri" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Masukkan nomor seri untuk hasil pesanan" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Alokasikan nomor seri secara otomatis" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "Alokasikan item yang diperlukan dengan nomor seri yang sesuai secara otomatis" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Nomor-nomor seri berikut sudah ada atau tidak valid" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Daftar hasil pesanan harus disediakan" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Lokasi hasil pesanan yang selesai" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Terima Alokasi Tidak Lengkap" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Tidak diizinkan" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Terima Tidak Teralokasikan" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Terima bahwa stok item tidak teralokasikan sepenuhnya ke pesanan ini" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "Stok yang diperlukan belum teralokasikan sepenuhnya" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Terima Tidak Selesai" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Terima bahwa jumlah hasil produksi yang diperlukan belum selesai" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "Jumlah produksi yang diperlukan masih belum cukup" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "Order memiliki hasil produksi yang belum dilengkapi" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Hasil produksi" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "Hasil pesanan harus mengarah ke pesanan yang sama" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 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:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "Item harus tersedia dalam stok" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Jumlah tersedia ({q}) terlampaui" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "Hasil produksi harus ditentukan untuk mengalokasikan bagian yang terlacak" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Hasil produksi tidak dapat ditentukan untuk alokasi barang yang tidak terlacak" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Item yang dialokasikan harus disediakan" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lokasi stok, dari mana bahan/bagian akan diambilkan (kosongkan untuk mengambil dari lokasi mana pun)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Lokasi tidak termasuk" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Jangan ambil stok item dari lokasi yang dipilih" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Stok bergantian" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Item stok di beberapa lokasi dapat digunakan secara bergantian" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Stok pengganti" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Izinkan alokasi bagian pengganti" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Item tagihan material" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "Dibatalkan" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "Pengguna" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Harga" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktif" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "" @@ -2148,7 +2148,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2156,18 +2156,18 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Nama File" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Komponen" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Perusahaan" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Status" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "Jumlah yang dialokasikan harus lebih dari nol" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Harga Minimal" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Harga Maksimal" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Perbarui" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Nama Pengguna" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Nama Depan" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Nama depan dari pengguna" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Nama Belakang" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Nama belakang dari pengguna" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Alamat surel dari pengguna" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Selamat Datang di InvenTree" diff --git a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po index 2b7b66284a..77304596b0 100644 --- a/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/it/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Italian\n" "Language: it_IT\n" @@ -104,13 +104,13 @@ msgstr "Inserisci la data" msgid "Invalid decimal value" msgstr "Valore decimale non valido" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Note" @@ -215,7 +215,7 @@ msgstr "L'URL fornito non è un file immagine valido" msgid "Log in to the app" msgstr "Accedi all'app" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "Email" @@ -336,51 +336,51 @@ msgstr "Un errore è stato loggato dal server." msgid "Image" msgstr "Immagine" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Deve essere un numero valido" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Selezionare la valuta dalle opzioni disponibili" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "Questo campo non può essere nullo." -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Valore non valido" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Immagine Remota" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URL del file immagine remota" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Il download delle immagini da URL remoto non è abilitato" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Impossibile scaricare l'immagine dall'URL remoto" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "Formato tipo di contenuto non valido" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "Tipo di Contenuto non trovato" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "Il tipo di contenuto non corrisponde alla classe mixin richiesta" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Includi Varianti" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Includi Varianti" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Includi Varianti" msgid "Part" msgstr "Articolo" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Categoria" @@ -669,16 +669,16 @@ msgstr "Escludi Albero" msgid "Build must be cancelled before it can be deleted" msgstr "La produzione deve essere annullata prima di poter essere eliminata" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Opzionale" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Assemblaggio" @@ -687,7 +687,7 @@ msgstr "Assemblaggio" msgid "Tracked" msgstr "Monitorato" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Testabile" @@ -695,24 +695,24 @@ msgstr "Testabile" msgid "Order Outstanding" msgstr "Ordine In Corso" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Allocato" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "Utilizzato" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "Ordinato" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Ordine di Produzione" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Posizione" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "Output" @@ -783,7 +783,7 @@ msgstr "La data di scadenza deve essere successiva alla data d'inizio" msgid "Build Order Reference" msgstr "Riferimento Ordine Di Produzione" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Numero di riferimento ordine di vendita" msgid "Sales Order to which this build is allocated" msgstr "Ordine di vendita a cui questa produzione viene assegnata" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Posizione Di Origine" @@ -861,16 +861,16 @@ msgstr "Stato Produzione" msgid "Build status code" msgstr "Codice stato di produzione" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Codice Lotto" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Codice del lotto per questa produzione" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Data di creazione" @@ -964,7 +964,7 @@ 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:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "Deve essere fornita un numero di serie per gli articoli rintracciabili" @@ -980,23 +980,23 @@ msgstr "La produzione è stata completata" msgid "Build output does not match Build Order" msgstr "L'output della produzione non corrisponde all'ordine di compilazione" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "La quantità deve essere maggiore di zero" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "La quantità non può essere maggiore della quantità in uscita" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "La produzione non ha superati tutti i test richiesti" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, 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" @@ -1017,10 +1017,10 @@ msgstr "Elemento di Riga Ordine di Produzione" msgid "Build object" msgstr "Crea oggetto" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Crea oggetto" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "La quantità assegnata ({q}) non deve essere maggiore della quantità di msgid "Stock item is over-allocated" msgstr "L'articolo in giacenza è sovrallocato" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Articoli in magazzino" @@ -1099,378 +1099,378 @@ msgstr "Destinazione articolo in giacenza" msgid "Build Level" msgstr "Livello Produzione" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Nome Articolo" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Genera Output" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "L'output generato non corrisponde alla produzione principale" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "L'output non corrisponde alle parti dell'ordine di produzione" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Questa produzione è stata già completata" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Questo output non è stato completamente assegnato" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Inserisci la quantità per l'output di compilazione" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Quantità totale richiesta per articoli rintracciabili" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantità totale richiesta, poiché la fattura dei materiali contiene articoli rintracciabili" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Codice Seriale" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Inserisci i numeri di serie per gli output di compilazione (build option)" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Posizione dello stock per l'output della produzione" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Numeri di Serie Assegnazione automatica" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "Assegna automaticamente gli articoli richiesti con i numeri di serie corrispondenti" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "I seguenti numeri di serie sono già esistenti o non sono validi" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Deve essere fornito un elenco dei risultati di produzione" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Posizione dello stock per l'output di produzione rimosso" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Scarta Assegnazioni" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Scartare tutte le assegnazioni di magazzino per gli output rimossi" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Motivo dell'eliminazione degli output di compilazione" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Posizione per gli output di build completati" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Accetta Assegnazione Incompleta" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Completa l'output se le scorte non sono state interamente assegnate" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Consuma Giacenze Allocate" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Consuma tutte le scorte che sono già state assegnate a questa produzione" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Rimuovi Output Incompleti" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Elimina gli output di produzione che non sono stati completati" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Non permesso" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Accetta come consumato da questo ordine di produzione" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Non assegnare prima di aver completato questo ordine di produzione" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Giacenza in eccesso assegnata" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Come si desidera gestire gli elementi extra giacenza assegnati all'ordine di produzione" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Alcuni articoli di magazzino sono stati assegnati in eccedenza" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Accetta Non Assegnato" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accetta che gli elementi in giacenza non sono stati completamente assegnati a questo ordine di produzione" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "La giacenza richiesta non è stata completamente assegnata" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Accetta Incompleta" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accetta che il numero richiesto di output di produzione non sia stato completato" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "La quantità di produzione richiesta non è stata completata" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "L'ordine di costruzione ha ancora degli ordini di costruzione figli" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "L'ordine di costruzione deve essere in stato di produzione" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "L'ordine di produzione ha output incompleti" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Linea di produzione" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Genera Output" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "L'output di produzione deve puntare alla stessa produzione" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Articolo linea di produzione" -#: build/serializers.py:926 +#: build/serializers.py:933 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:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "L'articolo deve essere disponibile" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantità disponibile ({q}) superata" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "L'output di produzione deve essere specificato per l'ubicazione delle parti tracciate" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "L'output di produzione non deve essere specificato per l'ubicazione delle parti non tracciate" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Deve essere indicata l'allocazione dell'articolo" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Posizione dello stock in cui le parti devono prelevate (lasciare vuoto per prelevare da qualsiasi luogo)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Escludi Ubicazione" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Escludi gli elementi stock da questa ubicazione selezionata" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Scorte Intercambiabili" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Gli elementi in magazzino in più sedi possono essere utilizzati in modo intercambiabile" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Sostituisci Giacenze" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Consenti l'allocazione delle parti sostitutive" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Articoli Opzionali" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Assegna gli elementi opzionali della distinta base all'ordine di produzione" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "Riferimento BOM" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "Identificativo dell'Articolo BOM" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "Nome Articolo BOM" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "Costruzione" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Articolo Fornitore" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Quantità assegnata" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "Riferimento Ordine Di Costruzione" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Nome Categoria Articolo" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Tracciabile" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Ereditato" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Consenti Le Varianti" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Distinta base (Bom)" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "In Produzione" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "Pianificato per la produzione" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Scorte esterne" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Disponibilità in magazzino" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Disponibili scorte alternative" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Disponibili varianti delle scorte" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "La quantità consumata supera la quantità assegnata" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "Note facoltative per il consumo di magazzino" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "L'articolo prodotto deve puntare all'ordine di produzione corretto" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "Duplica l'allocazione degli articoli da produrre" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "La riga di produzione deve puntare all'ordine di produzione corretto" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "Duplica l'allocazione della riga di produzione" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "Deve essere fornita almeno un articolo o riga" @@ -1494,7 +1494,7 @@ msgstr "In Attesa" msgid "Cancelled" msgstr "Annullato" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Ordine di produzione in ritardo" msgid "Build order {bo} is now overdue" msgstr "L'ordine di produzione {bo} è in ritardo" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "È Un Connegamento" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "E' un file" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "L'utente non ha il permesso di eliminare questi allegati" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "L'utente non ha il permesso di eliminare questo allegato" @@ -1550,7 +1550,7 @@ msgstr "Nessun codice valuta valido fornito" msgid "No plugin" msgstr "Nessun plugin" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Etichetta Codice Progetto" @@ -1628,7 +1628,7 @@ msgstr "Utente" msgid "Price break quantity" msgstr "Quantità prezzo limite" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Prezzo" @@ -1652,7 +1652,7 @@ msgstr "Nome per questa notifica" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Attivo" @@ -2126,7 +2126,7 @@ msgstr "Parametri" msgid "Invalid choice for parameter value" msgstr "Scelta non valida per il valore del parametro" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "Tipo di modello specificato per parametro non valido" @@ -2140,7 +2140,7 @@ msgstr "ID del modello di destinazione per questo parametro" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Modello" @@ -2148,7 +2148,7 @@ msgstr "Modello" msgid "Parameter template" msgstr "Modello Parametro" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Dati" @@ -2156,18 +2156,18 @@ msgstr "Dati" msgid "Parameter Value" msgstr "Valore del Parametro" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Nota" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Note opzionali elemento" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Nome del file" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Tipo di modello" @@ -2465,11 +2465,11 @@ msgstr "Tipo di modello" 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:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "L'utente non ha il permesso di creare o modificare parametri per questo modello" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "Lista di selezione bloccata" @@ -2859,8 +2859,8 @@ msgstr "Gli articoli sono modelli per impostazione predefinita" msgid "Parts can be assembled from other components by default" msgstr "Gli articoli possono essere assemblate da altri componenti per impostazione predefinita" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Componente" @@ -3988,33 +3988,33 @@ msgstr "L'articolo è attivo" msgid "Manufacturer is Active" msgstr "Il produttore è attivo" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "L'articolo fornitore è attivo" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "L'articolo interno è attivo" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "Il fornitore è attivo" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Produttore" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Azienda" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "Ha Scorte" @@ -4195,7 +4195,7 @@ msgstr "Note di spedizione per uso interno" msgid "Link to address information (external)" msgstr "Collegamento alle informazioni sull'indirizzo (esterno)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Codice articolo produttore" @@ -4213,12 +4213,12 @@ msgstr "Seleziona articolo" msgid "Select manufacturer" msgstr "Seleziona Produttore" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "Codice articolo produttore (MPN)" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Codice articolo produttore" @@ -4242,8 +4242,8 @@ msgstr "Le unità del pacchetto devono essere maggiori di zero" msgid "Linked manufacturer part must reference the same base part" msgstr "L'articolo del costruttore collegato deve riferirsi alla stesso articolo" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Fornitore" msgid "Select supplier" msgstr "Seleziona fornitore" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Unità di giacenza magazzino fornitore" @@ -4290,8 +4290,8 @@ msgstr "costo base" msgid "Minimum charge (e.g. stocking fee)" msgstr "Onere minimo (ad esempio tassa di stoccaggio)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Confezionamento" @@ -4339,14 +4339,18 @@ msgstr "Valuta predefinita utilizzata per questo fornitore" msgid "Company Name" msgstr "Nome Azienda" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "In magazzino" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "Sconti a scalare" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "Errore durante l'esportazione dei dati" @@ -4451,67 +4455,67 @@ msgstr "ID" msgid "Existing database identifier for the record" msgstr "Identificatore del database esistente per il record" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "La colonna è già mappata a un campo del database" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "Il campo è già mappato a una colonna di dati" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "La mappatura delle colonne deve essere collegata a una sessione di importazione valida" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "La colonna non esiste nel file dati" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "Il campo non esiste nel modello di destinazione" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "Il campo selezionato è di sola lettura" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "Sessione d'importazione" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Campo" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Colonna" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "Indice riga" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "Dati riga originali" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "Errori" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Valido" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "L'ID è richiesto per aggiornare i record esistenti." -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "Nessun record trovato con l'ID fornito" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "Formato ID fornito non valido" @@ -4821,7 +4825,7 @@ msgstr "Ordine" msgid "Order Complete" msgstr "Ordine completato" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Articolo interno" @@ -4918,7 +4922,7 @@ msgstr "Data iniziale" msgid "Scheduled start date for this order" msgstr "Data d'inizio programmata per questo ordine" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Data scadenza" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Riferimento ordine" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Stato" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Ricevuto" msgid "Number of items received" msgstr "Numero di elementi ricevuti" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Prezzo di Acquisto" @@ -5211,8 +5215,8 @@ msgstr "Verificato Da" msgid "User who checked this shipment" msgstr "Utente che ha controllato questa spedizione" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Spedizione" @@ -5277,7 +5281,7 @@ msgstr "La quantità di ripartizione non puo' superare la disponibilità della g msgid "Allocation quantity must be greater than zero" msgstr "La quantità di assegnazione deve essere maggiore di zero" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "La quantità deve essere 1 per l'elemento serializzato" @@ -5393,7 +5397,7 @@ msgstr "Copia Linee Extra" msgid "Copy extra line items from the original order" msgstr "Copia gli elementi di riga extra dall'ordine originale" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Copia parametri" @@ -5412,216 +5416,216 @@ msgstr "Elementi Riga" msgid "Completed Lines" msgstr "Righe Completate" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "Duplica Ordine" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "Specifica le opzioni per duplicare questo ordine" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "ID dell'ordine non corretto" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Nome Fornitore" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "L'ordine non può essere cancellato" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Consenti di chiudere l'ordine con elementi di riga incompleti" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "L'ordine ha elementi di riga incompleti" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "L'ordine non è aperto" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "Prezzo Automatico" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Calcola automaticamente il prezzo di acquisto in base ai dati del fornitore articolo" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Valuta prezzo d'acquisto" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "Unisci elementi" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "Unisce gli elementi con lo stesso articolo, destinazione e data di destinazione in una riga" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "Codice articolo" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Numero Dell'articolo Interno" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "Numero Articolo Interno" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "L'articolo del fornitore deve essere specificato" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "L'ordine di acquisto deve essere specificato" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "Il fornitore deve essere abbinato all'ordine d'acquisto" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "L'ordine di acquisto deve essere abbinato al fornitore" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Elemento Riga" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Seleziona la posizione di destinazione per gli elementi ricevuti" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Inserisci il codice univoco per gli articoli in arrivo" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Data di Scadenza" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "Inserisci la data di scadenza per gli articoli in arrivo" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Inserisci i numeri di serie per gli articoli stock in arrivo" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "Sovrascrivi le informazioni d'imballaggio per gli articoli in arrivo" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "Nota aggiuntiva per gli articoli in arrivo" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Codice a Barre" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Codice a barre scansionato" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Il codice a barre è già in uso" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Gli elementi di linea devono essere forniti" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "La destinazione deve essere specificata" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "I valori dei codici a barre forniti devono essere univoci" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "Spedizioni" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Spedizioni Completate" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Valuta prezzo di vendita" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "Elementi Assegnati" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "Nessun dettaglio di spedizione fornito" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "L'elemento di riga non è associato a questo ordine" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "La quantità deve essere positiva" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Inserisci i numeri di serie da assegnare" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "La spedizione è già stata spedita" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "La spedizione non è associata con questo ordine" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "Nessuna corrispondenza trovata per i seguenti numeri di serie" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "I seguenti numeri di serie non sono disponibili" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "Articoli Linea Ordine Reso" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "L'elemento di riga non corrisponde all'ordine di reso" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "L'elemento di riga è già stato ricevuto" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Gli elementi possono essere ricevuti solo con ordini in corso" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "Quantità da restituire" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Valuta del prezzo" @@ -5837,7 +5841,7 @@ msgstr "Parole chiave predefinite per gli articoli in questa categoria" msgid "Icon" msgstr "Icona" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Icona (facoltativa)" @@ -5858,7 +5862,7 @@ msgstr "Valore Predefinito" msgid "Default Parameter Value" msgstr "Valore Parametro Predefinito" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Articoli" @@ -5973,7 +5977,7 @@ msgstr "Parole chiave per migliorare la visibilità nei risultati di ricerca" msgid "Part category" msgstr "Categoria articolo" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN - Numero di riferimento interno" @@ -6006,7 +6010,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:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Scorta Minima" @@ -6487,355 +6491,355 @@ msgstr "Non si può creare una relazione tra l'articolo e sé stesso" msgid "Duplicate relationship already exists" msgstr "La relazione duplicata esiste già" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "Categoria Superiore" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "Categoria articolo principale" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Sottocategorie" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "Risultati" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "Numero di risultati registrati rispetto a questo modello" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Valuta di acquisto di questo articolo in stock" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "Il file non è un immagine" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Articolo Originale" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Seleziona l'articolo originale da duplicare" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Copia immagine" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Copia immagine dall'articolo originale" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Copia Distinta Base" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "Copia fattura dei materiali dall'articolo originale" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "Copia i dati dei parametri dall'articolo originale" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Copia note" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "Copia note dall'articolo originale" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "Copia Test" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "Copia modelli di test dall'articolo originale" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Quantità iniziale" -#: part/serializers.py:448 +#: part/serializers.py:451 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:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "Ubicazione Iniziale Magazzino" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "Specificare l'ubicazione iniziale del magazzino per questo Articolo" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "Seleziona il fornitore (o lascia vuoto per saltare)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "Seleziona il produttore (o lascia vuoto per saltare)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Codice articolo Produttore" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "L'azienda selezionata non è un fornitore valido" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "L'azienda selezionata non è un produttore valido" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "L'articolo del produttore che corrisponde a questo MPN esiste già" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "L'articolo del fornitore che corrisponde a questo SKU esiste già" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Nome Categoria" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "In Costruzione" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "Quantità di questo articolo attualmente in produzione" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Eccezionale quantità di questa parte prevista da costruire" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Articoli in magazzino" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "Revisioni" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Giacenze Totali" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "Scorte Non Assegnate" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "Scorta Variante" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Duplica articolo" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "Copia i dati iniziali da un altro Articolo" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Stock iniziale" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Crea Articolo con quantità di scorta iniziale" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Informazioni Fornitore" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "Aggiungi le informazioni iniziali del fornitore per questo articolo" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Copia Parametri Categoria" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "Copia i parametri dai modelli della categoria articolo selezionata" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Immagine esistente" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "Nome del file di un'immagine articolo esistente" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "Il file immagine non esiste" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Convalida l'intera Fattura dei Materiali" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Puoi produrre" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "Richiesto per gli Ordini di Produzione" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "Assegnato agli Ordini di Produzione" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "Richiesto per gli Ordini di Vendita" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "Assegnato agli Ordini di Vendita" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Prezzo Minimo" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Sovrascrivi valore calcolato per il prezzo minimo" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Valuta del prezzo minimo" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Prezzo Massimo" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "Sovrascrivi valore calcolato per il prezzo massimo" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Valuta del prezzo massimo" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Aggiorna" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "Aggiorna i prezzi per questo articolo" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Impossibile convertire dalle valute fornite in {default_currency}" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "Il prezzo minimo non può essere maggiore del prezzo massimo" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "Il prezzo massimo non può essere minore del prezzo minimo" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "Seleziona l'assemblaggio padre" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "Seleziona la componente" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "Seleziona l'articolo da cui copiare la distinta base" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Rimuovi Dati Esistenti" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "Rimuovi elementi distinta base esistenti prima di copiare" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Includi Ereditato" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "Includi gli elementi Distinta Base ereditati da prodotti template" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Salta Righe Non Valide" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Abilita questa opzione per saltare le righe non valide" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Copia Articoli sostitutivi" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copia articoli sostitutivi quando duplichi gli elementi distinta base" @@ -8288,7 +8292,7 @@ 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:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Elementi installati" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "Obsoleto" @@ -8579,7 +8583,7 @@ msgstr "L'articolo deve essere specificato" msgid "Stock items cannot be located into structural stock locations!" msgstr "Gli articoli di magazzino non possono essere ubicati in posizioni di magazzino strutturali!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "Non è possibile creare un elemento di magazzino per articoli virtuali" @@ -8624,7 +8628,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:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "Imballaggio di questo articolo di magazzino è collocato in" @@ -8640,7 +8644,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:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Codice lotto per questo elemento di magazzino" @@ -8753,7 +8757,7 @@ msgstr "L'elemento di magazzino è attualmente in produzione" msgid "Serialized stock cannot be merged" msgstr "Il magazzino serializzato non può essere unito" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "Duplica elementi di magazzino" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "Elemento principale" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "Inserisci i numeri di serie per i nuovi elementi" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "Scaduto" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Elementi secondari" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "Inserisci il numero di elementi di magazzino da serializzare" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, 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:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "Posizione magazzino di destinazione" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "Numeri di serie non possono essere assegnati a questo articolo" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Numeri di serie già esistenti" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "Seleziona elementi di magazzino da installare" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "Aggiungi nota di transazione (opzionale)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "Elemento di magazzino non disponibile" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "L'articolo selezionato non è nella Fattura dei Materiali" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "Posizione di destinazione per gli elementi disinstallati" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "Seleziona l'articolo in cui convertire l'elemento di magazzino" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "L'articolo selezionato non è una valida opzione per la conversione" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Sottoallocazioni" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "L'articolo deve essere vendibile" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "L'elemento è assegnato a un ordine di vendita" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "Elemento assegnato a un ordine di costruzione" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "Cliente a cui assegnare elementi di magazzino" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "L'azienda selezionata non è un cliente" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Note sull'assegnazione delle scorte" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "Deve essere fornito un elenco degli elementi di magazzino" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Note di fusione di magazzino" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Consenti fornitori non corrispondenti" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 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:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Consenti stato non corrispondente" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 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:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "Devono essere riforniti almeno due elementi in magazzino" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "Nessun cambiamento" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Valore di chiave primaria StockItem" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Note sugli spostamenti di magazzino" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "Ordini di Vendita" msgid "Return Orders" msgstr "Ordini di reso" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Nome utente" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Nome" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Nome dell'utente" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Cognome" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Cognome dell'utente" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Indirizzo email dell'utente" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Superuser" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Questo utente è un superutente" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Questo account utente è attivo" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Il tuo account è stato creato." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Si prega di utilizzare la funzione di reimpostazione password per accedere" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Benvenuto in InvenTree" diff --git a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po index a6668e73e5..16091844df 100644 --- a/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ja/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Language: ja_JP\n" @@ -104,13 +104,13 @@ msgstr "日付を入力する" msgid "Invalid decimal value" msgstr "無効な10進数値" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "メモ" @@ -215,7 +215,7 @@ msgstr "指定されたURLは有効な画像ファイルではありません" msgid "Log in to the app" msgstr "アプリにログイン" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "メールアドレス" @@ -336,51 +336,51 @@ msgstr "サーバーによってエラーが記録されました。" msgid "Image" msgstr "画像" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "有効な数字でなければなりません" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "通貨" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "利用可能なオプションから通貨を選択してください" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "この項目は空欄にできません。" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "無効な値です。" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "遠隔画像" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "外部画像ファイルのURL" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "外部URLからの画像ダウンロードは許可されていません" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "リモートURLからの画像ダウンロードに失敗しました" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "無効なコンテンツタイプ形式です" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "コンテンツタイプが見つかりません" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "コンテンツタイプが必須のミックスインクラスと一致しません" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "バリアントを含む" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "バリアントを含む" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "バリアントを含む" msgid "Part" msgstr "パーツ" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "カテゴリ" @@ -669,16 +669,16 @@ msgstr "ツリーを除く" msgid "Build must be cancelled before it can be deleted" msgstr "削除するには、ビルドをキャンセルする必要があります。" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "消耗品" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "オプション" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "アセンブリ" @@ -687,7 +687,7 @@ msgstr "アセンブリ" msgid "Tracked" msgstr "追跡" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "テスト可能" @@ -695,24 +695,24 @@ msgstr "テスト可能" msgid "Order Outstanding" msgstr "受注残高" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "割り当てられた" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "消費されました" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "注文中" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "組立注文" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "場所" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "出力" @@ -783,7 +783,7 @@ msgstr "目標期日は開始日以降であること" msgid "Build Order Reference" msgstr "ビルド・オーダー・リファレンス" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "セールス・オーダー・リファレンス" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "ソース・ロケーション" @@ -861,16 +861,16 @@ msgstr "組立状況" msgid "Build status code" msgstr "ビルドステータスコード" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "バッチコード" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "このビルド出力のバッチコード" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "作成日時" @@ -964,7 +964,7 @@ msgstr "ビルドオーダー{build}が完了しました" msgid "A build order has been completed" msgstr "建設発注が完了しました" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "追跡可能な部品については、シリアル番号の提示が必要です。" @@ -980,23 +980,23 @@ msgstr "ビルド出力はすでに完了しています" msgid "Build output does not match Build Order" msgstr "ビルド出力がビルド順序と一致しません" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "数量はゼロより大きくなければなりません" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "数量が出力数量を上回ることはできません" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "ビルド出力は、必要なすべてのテストを通過していません" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "ビルド出力 {serial} は、必要なすべてのテストに合格していません。" @@ -1017,10 +1017,10 @@ msgstr "ビルドオーダーラインアイテム" msgid "Build object" msgstr "ビルドオブジェクト" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "ビルドオブジェクト" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "割当数量({q})は在庫可能数量({a})を超えてはなりませ msgid "Stock item is over-allocated" msgstr "在庫が過剰配分" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "在庫商品" @@ -1099,378 +1099,378 @@ msgstr "仕向け地在庫品" msgid "Build Level" msgstr "ビルドレベル" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "部品名" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "ビルド出力" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "ビルド出力が親ビルドと一致しません" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "出力部分が BuildOrder 部分と一致しません。" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "このビルド出力はすでに完了しています" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "このビルド出力は完全に割り当てられていません" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "ビルド出力の数量を入力" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "追跡可能な部品に必要な整数個数" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "部品表には追跡可能な部品が含まれるため、必要な数量は整数" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "シリアル番号" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "ビルド出力のためのシリアル番号の入力" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "ビルド出力のストック位置" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "シリアル番号の自動割り当て" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "シリアル番号が一致する必要なアイテムを自動的に割り当て" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "以下のシリアル番号は既に存在するか、無効です。" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "ビルド出力のリストを提供する必要があります。" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "スクラップされたアウトプットの在庫場所" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "廃棄割り当て" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "廃棄されたアウトプットに割り当てられた在庫の破棄" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "ビルドアウトプットを廃棄する理由" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "完成した建造物のアウトプットの場所" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "不完全割当の受入れ" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "在庫が完全に割り当てられていない場合は、出力を完了します。" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "割当在庫の消費" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "このビルドに割り当て済みのストックを消費します。" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "不完全な出力の削除" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "完了していないビルド出力を削除します。" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "不可" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "このビルド・オーダーで消費されるものとして受け入れます。" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "このビルドオーダーを完了する前に割り当てを解除します。" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "総合在庫" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "製造オーダーに割り当てられた余分な在庫品をどのように処理しますか?" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "一部の在庫品目は全体的に配分されています。" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "未割り当ての受け入れ" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "在庫アイテムがこのビルド・オーダーに完全に割り当てられていないことを受け入れます。" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "必要在庫の配分が完了していません" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "インコンプリートの受け入れ" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "必要な数のビルドアウトプットが完了していないことを受け入れます。" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "必要な構築数量が完了していません" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "ビルド・オーダーには未完成の子ビルド・オーダーがあります。" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "受注生産状態であること" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "ビルド・オーダーの出力が不完全" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "組立ライン" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "ビルド出力" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "ビルド出力は同じビルド" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "ビルドラインアイテム" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.partは、ビルドオーダーと同じパーツを指す必要があります。" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "在庫があること" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "使用可能数量({q})を超過" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "追跡部品の割り当てには、ビルド出力を指定する必要があります。" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "追跡されていない部品の割り当てでは、ビルド出力を指定できません。" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "割り当て項目の提供" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "部品を調達する在庫場所(任意の場所から調達する場合は空白にしてください。)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "場所を除く" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "この選択された場所から在庫商品を除外" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "交換可能ストック" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "複数の拠点にある在庫品を交換可能" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "代替ストック" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "代替部品の割り当て" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "オプション" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "オプションのBOMアイテムをビルドオーダーに割り当てます。" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "BOMリファレンス" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "BOMパーツID" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "部品表 部品名" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "ビルド" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "サプライヤー" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "割当数量" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "ビルドリファレンス" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "部品分類名" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "追跡可能" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "継承" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "バリアントを許可" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "BOMアイテム" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "生産中" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "ビルド予定" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "外部在庫" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "在庫状況" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "利用可能な代替ストック" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "在庫状況" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "消費量が割り当て量を超過しています" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "在庫消費に関する任意の注記" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "ビルド項目は正しいビルドオーダーを指す必要があります" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "重複したビルド項目の割り当て" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "ビルドラインは正しいビルドオーダーを指す必要があります" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "重複したビルドラインの割り当て" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "少なくとも1つの項目または行を指示する必要があります" @@ -1494,7 +1494,7 @@ msgstr "保留中" msgid "Cancelled" msgstr "キャンセル済" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "期限切れ注文" msgid "Build order {bo} is now overdue" msgstr "ビルドオーダー{bo}は現在期限切れです" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "リンク" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "ファイル" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "ユーザーにはこれらの添付ファイルを削除する権限がありません。" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "ユーザーにはこの添付ファイルを削除する権限がありません" @@ -1550,7 +1550,7 @@ msgstr "有効な通貨コードはありません" msgid "No plugin" msgstr "プラグインなし" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "プロジェクトコードラベル" @@ -1628,7 +1628,7 @@ msgstr "ユーザー" msgid "Price break quantity" msgstr "価格破壊数量" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "価格" @@ -1652,7 +1652,7 @@ msgstr "このウェブフックの名前" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "有効" @@ -2126,7 +2126,7 @@ msgstr "パラメータ" msgid "Invalid choice for parameter value" msgstr "パラメータ値の選択が無効" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "パラメータに対して無効なモデルタイプが指定されています" @@ -2140,7 +2140,7 @@ msgstr "このパラメータの対象となるモデルのID" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "テンプレート" @@ -2148,7 +2148,7 @@ msgstr "テンプレート" msgid "Parameter template" msgstr "パラメータテンプレート" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "データ" @@ -2156,18 +2156,18 @@ msgstr "データ" msgid "Parameter Value" msgstr "パラメータ値" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "備考" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "任意のメモ欄" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "ファイル名" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "モデルタイプ" @@ -2465,11 +2465,11 @@ msgstr "モデルタイプ" msgid "User does not have permission to create or edit attachments for this model" msgstr "このモデルの添付ファイルを作成または編集する権限がありません。" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "ユーザーは、このモデルのパラメータを作成または編集する権限がありません。" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "選択リストがロックされています" @@ -2859,8 +2859,8 @@ msgstr "パーツはデフォルトのテンプレートです" msgid "Parts can be assembled from other components by default" msgstr "パーツはデフォルトで他のコンポーネントから組み立てることができます" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "コンポーネント" @@ -3988,33 +3988,33 @@ msgstr "パートはアクティブ" msgid "Manufacturer is Active" msgstr "メーカーはアクティブ" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "サプライヤーが活動中" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "内部はアクティブ" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "サプライヤーの活動" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "製造元" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "会社名" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "在庫あり" @@ -4195,7 +4195,7 @@ msgstr "社内用出荷注意事項" msgid "Link to address information (external)" msgstr "住所情報へのリンク(外部)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "メーカー・パーツ" @@ -4213,12 +4213,12 @@ msgstr "部品を選択" msgid "Select manufacturer" msgstr "メーカー選択" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "MPN" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "メーカー品番" @@ -4242,8 +4242,8 @@ msgstr "パック単位はゼロより大きくなければなりません。" msgid "Linked manufacturer part must reference the same base part" msgstr "リンクされたメーカー部品は、同じベース部品を参照する必要があります。" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "仕入先" msgid "Select supplier" msgstr "サプライヤーを選択" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "サプライヤー在庫管理ユニット" @@ -4290,8 +4290,8 @@ msgstr "基本料金" msgid "Minimum charge (e.g. stocking fee)" msgstr "ミニマムチャージ(例:仕入れ手数料)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "パッケージング" @@ -4339,14 +4339,18 @@ msgstr "このサプライヤーで使用されるデフォルト通貨" msgid "Company Name" msgstr "会社名" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "在庫あり" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "価格割り引き" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "データのエクスポート中にエラーが発生しました" @@ -4451,67 +4455,67 @@ msgstr "ID" msgid "Existing database identifier for the record" msgstr "レコードの既存データベース識別子" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "カラムはすでにデータベースのフィールドにマッピングされています。" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "フィールドはすでにデータ列にマッピングされています。" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "カラムマッピングは有効なインポートセッションにリンクされている必要があります。" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "カラムがデータファイルに存在しません。" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "対象モデルにフィールドが存在しない" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "選択されたフィールドは読み取り専用です。" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "インポートセッション" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "フィールド" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "列" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "行インデックス" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "元の行データ" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "エラー" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "有効" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "既存の記録を更新するにはIDが必要です。" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "指定のIDで該当する記録は見つかりませんでした" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "無効なID形式が指定されました" @@ -4821,7 +4825,7 @@ msgstr "注文" msgid "Order Complete" msgstr "注文完了" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "内部パーツ" @@ -4918,7 +4922,7 @@ msgstr "開始日" msgid "Scheduled start date for this order" msgstr "本注文の開始予定日" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "終了日に達したら" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "注文参照" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "ステータス" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "受信" msgid "Number of items received" msgstr "受領品目数" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "購入金額" @@ -5211,8 +5215,8 @@ msgstr "チェック済み" msgid "User who checked this shipment" msgstr "この貨物をチェックしたユーザー" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "発送" @@ -5277,7 +5281,7 @@ msgstr "割当数量が在庫数量を超えることはできません" msgid "Allocation quantity must be greater than zero" msgstr "割当数量はゼロより大きくなければなりません" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "シリアル化された在庫品の場合、数量は1でなければなりません。" @@ -5393,7 +5397,7 @@ msgstr "余分な行をコピー" msgid "Copy extra line items from the original order" msgstr "元の注文から余分な項目をコピー" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "コピーパラメータ" @@ -5412,216 +5416,216 @@ msgstr "ラインアイテム" msgid "Completed Lines" msgstr "完成路線" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "重複した注文" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "この注文を複製するためのオプションを指定します。" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "無効なオーダーID" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "サプライヤー名" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "ご注文のキャンセルはできません。" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "未完了の行項目で注文を閉じることができます。" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "注文に不備がある場合" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "ご注文は受け付けておりません。" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "自動車価格" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "サプライヤーの部品データに基づいて購入価格を自動計算" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "購入価格通貨" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "アイテムのマージ" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "同じ品目、同じ仕向け地、同じ日付の品目を1つの品目に統合します。" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "SKU" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "内部部品番号" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "内部部品名" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "サプライヤー部品の指定が必要" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "注文書の指定が必要" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "サプライヤーは発注書と一致しなければなりません。" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "発注書はサプライヤーと一致している必要があります。" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "明細" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "受取商品の配送先選択" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "入荷在庫品のバッチコード入力" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "有効期限" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "入荷在庫の有効期限の入力" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "入荷した在庫品のシリアル番号の入力" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "入荷在庫品の包装情報の上書き" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "在庫品の入荷に関する注意事項" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "バーコード" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "スキャンされたバーコード" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "バーコードはすでに使用されています" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "項目は必ずご記入ください。" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "デスティネーション・ロケーションを指定する必要があります。" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "バーコードの値は一意でなければなりません。" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "発送" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "完了した出荷" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "販売価格通貨" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "割当項目" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "出荷の詳細は記載されていません" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "ラインアイテムは、この注文に関連付けられていません。" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "数量は正数でなければなりません。" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "割り当てるシリアル番号を入力" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "出荷済み" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "この注文には出荷が関連付けられていません" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "以下のシリアル番号に該当するものは見つかりませんでした。" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "以下のシリアル番号はご利用いただけません。" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "返品注文項目" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "ラインアイテムが返品オーダーと一致しません" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "ラインアイテムはすでに受領済み" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "商品の受け取りは、進行中の注文に対してのみ可能です。" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "返品数量" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "ライン価格通貨" @@ -5837,7 +5841,7 @@ msgstr "このカテゴリの部品のデフォルトキーワード" msgid "Icon" msgstr "アイコン" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "アイコン (オプション)" @@ -5858,7 +5862,7 @@ msgstr "初期値" msgid "Default Parameter Value" msgstr "パラメータのデフォルト値" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "パーツ" @@ -5973,7 +5977,7 @@ msgstr "検索結果での視認性を向上させる部分キーワード" msgid "Part category" msgstr "パーツカテゴリ" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "即時支払通知" @@ -6006,7 +6010,7 @@ msgstr "デフォルトの有効期限" msgid "Expiry time (in days) for stock items of this part" msgstr "この部品の在庫品の有効期限(日単位" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "最小在庫" @@ -6487,355 +6491,355 @@ msgstr "部品とそれ自身との間に部品関係を作ることはできま msgid "Duplicate relationship already exists" msgstr "重複する関係が既に存在します。" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "親カテゴリ" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "親部品カテゴリー" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "サブカテゴリ" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "結果" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "このテンプレートに対して記録された結果の数" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "この在庫商品の購入通貨" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "ファイルが画像ではありません" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "オリジナルパート" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "複製する元の部品を選択" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "コピー画像" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "元の部分から画像をコピー" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "コピーBOM" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "元の部品から部品表をコピー" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "元の部品からパラメータデータをコピー" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "コピーノート" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "元のパートからメモをコピー" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "コピーテスト" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "元の部品からテスト用テンプレートをコピーしてください" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "初期在庫量" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "この部品の初期在庫数量を指定します。数量が0の場合、在庫は追加されません。" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "初期在庫場所" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "この部品の初期在庫場所を指定してください。" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "サプライヤーを選択してください。" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "メーカーを選択してください。" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "メーカー品番" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "選択された企業は有効なサプライヤーではありません。" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "選択された会社は有効な製造業者ではありません。" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "このMPNに一致するメーカー部品はすでに存在します。" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "このSKUに一致するサプライヤー部品は既に存在します。" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "カテゴリ名" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "建物" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "現在生産中の当該部品の数量" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "この部品の予定生産数量" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "在庫商品" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "リビジョン" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "総在庫" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "未割当株式" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "バリアントストック" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "重複部分" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "別のパートから初期データをコピー" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "初期在庫" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "初期在庫数で部品を作成" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "サプライヤー情報" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "この部品の初期サプライヤー情報を追加します。" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "コピーカテゴリパラメータ" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "選択したパーツカテゴリーからパラメータテンプレートをコピー" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "既存イメージ" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "既存の部品画像のファイル名" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "画像ファイルが存在しません" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "部品表全体の検証" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "ビルド" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "ビルドオーダーに必要なもの" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "ビルドオーダーに割り当てられました" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "セールスオーダーに必要なもの" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "セールスオーダーに割り当てられました" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "最小価格" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "最低価格の計算値の上書き" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "最低価格通貨" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "最大価格" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "最高価格の計算値を上書き" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "最高価格通貨" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "更新" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "この部品の価格を更新" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "提供された通貨から{default_currency}に変換できませんでした。" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "最低価格は最高価格を超えてはなりません。" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "最高価格は最低価格を下回ってはなりません。" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "親アセンブリを選択" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "構成部品の選択" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "BOMをコピーする部品を選択します。" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "既存データの削除" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "コピー前に既存のBOMアイテムを削除" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "インクルード継承" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "テンプレート化された部品から継承されたBOM項目を含めます。" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "無効な行をスキップ" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "無効な行をスキップするには、このオプションを有効にします。" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "コピー代用部品" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "BOMアイテムの重複時に代替部品をコピー" @@ -8288,7 +8292,7 @@ msgstr "在庫品テストレポート" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "設置項目" @@ -8361,7 +8365,7 @@ msgstr "トップレベルのロケーションによるフィルタリング" msgid "Include sub-locations in filtered results" msgstr "フィルタリング結果にサブロケーションを含めることができます。" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "親の位置" @@ -8445,7 +8449,7 @@ msgstr "有効期限" msgid "Expiry date after" msgstr "有効期限" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "期限失効" @@ -8579,7 +8583,7 @@ msgstr "部品の指定が必要" msgid "Stock items cannot be located into structural stock locations!" msgstr "在庫品は、構造的な在庫場所に配置することはできません!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "仮想部品にストックアイテムを作成できません" @@ -8624,7 +8628,7 @@ msgstr "この在庫品に一致するサプライヤー部品を選択してく msgid "Where is this stock item located?" msgstr "この在庫品はどこにありますか?" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "この在庫品は以下の梱包で保管されています。" @@ -8640,7 +8644,7 @@ msgstr "このアイテムは他のアイテムにインストールされてい msgid "Serial number for this item" msgstr "この商品のシリアル番号" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "このストックアイテムのバッチコード" @@ -8753,7 +8757,7 @@ msgstr "在庫品は現在生産中です。" msgid "Serialized stock cannot be merged" msgstr "連番在庫の統合はできません" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "在庫品の重複" @@ -8877,7 +8881,7 @@ msgstr "シリアル番号を生成する部品を選択します。" msgid "Quantity of serial numbers to generate" msgstr "生成するシリアル番号の数" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "この結果のテストテンプレート" @@ -8901,222 +8905,222 @@ msgstr "親アイテム" msgid "Parent stock item" msgstr "親株式" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "数量はパック数です。" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "パッケージサイズを使用" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "新しい商品のシリアル番号の入力" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "サプライヤー品番" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "期限切れ" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "子供用品" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "追跡項目" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "この在庫品の購入価格、単位またはパックあたり" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "シリアル化するストックアイテムの数を入力" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "在庫品目がしていされていません" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "数量は在庫数 ({q}) を超えてはなりません。" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "仕向け地" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "この部品にシリアル番号を割り当てることはできません" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "シリアル番号が既に存在します" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "インストールするストックアイテムを選択" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "設置数量" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "インストールするアイテムの数量を入力してください。" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "取引メモの追加(オプション)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "設置数量は1台以上" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "在庫がありません" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "選択した部品が部品表にない" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "設置する数量は、利用可能な数量を超えてはなりません。" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "アンインストール先の場所" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "在庫品を変換する部品を選択" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "選択された部分は、変換のための有効なオプションではありません。" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "SupplierPartが割り当てられている在庫品を変換できません。" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "在庫商品ステータスコード" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "ステータスを変更するストックアイテムを選択" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "ストックアイテムが選択されていません" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "サブロケーション" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "親株式所在地" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "パーツは販売可能でなければなりません" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "商品が販売オーダーに割り当てられています。" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "アイテムがビルドオーダーに割り当てられています。" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "在庫アイテムを割り当てるお客様" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "選択された企業は顧客ではありません" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "株式譲渡に関する注意事項" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "在庫品のリストが必要です。" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "株式併合に関する注意事項" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "不一致のサプライヤーを許可" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "異なるサプライヤの部品を持つ在庫品目をマージできるようにします。" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "不一致の状態を許可" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "異なるステータスコードを持つストックアイテムをマージすることができます。" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "少なくとも2つのストックアイテムを提供する必要があります。" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "変化なし" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "StockItem 主キー値" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "在庫がありません" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "在庫品目は既に在庫にあります" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "数量は負の数であってはなりません。" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "株式取引に関する注記" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "既存の在庫に統合します" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "可能なら、返品された商品を既存の在庫商品に統合してください" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "次のシリアル番号" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "以前のシリアル番号" @@ -9598,99 +9602,99 @@ msgstr "セールスオーダー" msgid "Return Orders" msgstr "返品注文" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "ユーザー名" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "名" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "ユーザーの名" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "姓" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "ユーザーの姓" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "ユーザーのメールアドレス" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "スーパーユーザー" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "このユーザーはスーパーユーザーですか?" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "このユーザーアカウントはアクティブですか" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "このフィールドを調整できるのはスーパーユーザーのみです。" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "パスワード" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "ユーザーのパスワード" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "警告を上書きします" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "パスワードルールに関する警告を無効にする" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "ユーザーを作成する権限がありません" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "アカウントが作成されました" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "パスワードリセット機能を使ってログインしてください" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "InvenTreeへようこそ" diff --git a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po index 0e282ae42e..7ce41b0292 100644 --- a/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ko/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Korean\n" "Language: ko_KR\n" @@ -104,13 +104,13 @@ msgstr "날짜 입력" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "메모" @@ -215,7 +215,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "이메일" @@ -336,51 +336,51 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "유효하지 않은 값" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "분류" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "소모품" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "선택사항" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +687,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -695,24 +695,24 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "" @@ -861,16 +861,16 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "" @@ -964,7 +964,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "" @@ -1099,378 +1099,378 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "시리얼 번호 (일련번호)" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "" @@ -2148,7 +2148,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2156,18 +2156,18 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "" diff --git a/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po index 7bd0e70d68..dad03aa1ed 100644 --- a/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Language: lt_LT\n" @@ -104,13 +104,13 @@ msgstr "Įveskite datą" msgid "Invalid decimal value" msgstr "Neteisinga dešimtainė reikšmė" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Pastabos" @@ -215,7 +215,7 @@ msgstr "Nurodytas URL nėra tinkamas paveikslėlio failas" msgid "Log in to the app" msgstr "Prisijungti prie programos" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "El. paštas" @@ -336,51 +336,51 @@ msgstr "Serveris užfiksavo klaidą." msgid "Image" msgstr "Paveikslėlis" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Turi būti teisingas skaičius" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Valiuta" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Pasirinkite valiutą iš galimų variantų" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Neteisinga reikšmė" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Nutolęs paveikslėlis" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "Nutolusio paveikslėlio failo URL" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Paveikslėlių atsisiuntimas iš nutolusio URL neįjungtas" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Nepavyko atsisiųsti paveikslėlio iš nutolusio URL" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Įtraukti variantus" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Įtraukti variantus" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Įtraukti variantus" msgid "Part" msgstr "Detalė" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Kategorija" @@ -669,16 +669,16 @@ msgstr "Neįtraukti medžio struktūros" msgid "Build must be cancelled before it can be deleted" msgstr "Prieš ištrinant gamybą, ji turi būti atšaukta" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Sunaudojama" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Pasirinktinai" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Surinkimas" @@ -687,7 +687,7 @@ msgstr "Surinkimas" msgid "Tracked" msgstr "Sekama" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Testuojama" @@ -695,24 +695,24 @@ msgstr "Testuojama" msgid "Order Outstanding" msgstr "Liko neįvykdytų užsakymų" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Priskirta" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "Užsakyta" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Gamybos užsakymas" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Vieta" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "Tikslinė data turi būti po pradžios datos" msgid "Build Order Reference" msgstr "Gamybos užsakymo nuoroda" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Pardavimo užsakymo nuoroda" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Šaltinio vieta" @@ -861,16 +861,16 @@ msgstr "Gamybos būsena" msgid "Build status code" msgstr "Gamybos būsenos kodas" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Partijos kodas" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Šios gamybos partijos kodas" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Sukūrimo data" @@ -964,7 +964,7 @@ msgstr "Gamybos užsakymas {build} užbaigtas" msgid "A build order has been completed" msgstr "Gamybos užsakymas užbaigtas" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "Sekamoms detalėms būtina nurodyti serijos numerius" @@ -980,23 +980,23 @@ msgstr "Gamybos rezultatas jau užbaigtas" msgid "Build output does not match Build Order" msgstr "Gamybos rezultatas neatitinka gamybos užsakymo" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Kiekis turi būti didesnis nei nulis" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "Kiekis negali viršyti rezultato kiekio" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Gamybos rezultatas {serial} nepraėjo visų privalomų testų" @@ -1017,10 +1017,10 @@ msgstr "Gamybos užsakymo eilutės įrašas" msgid "Build object" msgstr "Gamybos objektas" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Gamybos objektas" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Priskirtas kiekis ({q}) negali viršyti galimo atsargų kiekio ({a})" msgid "Stock item is over-allocated" msgstr "Atsargų elementas per daug paskirstytas" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Atsargų elementas" @@ -1099,378 +1099,378 @@ msgstr "Paskirties atsargų elementas" msgid "Build Level" msgstr "Gamybos lygis" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Detalės pavadinimas" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Gamybos rezultatas" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Gamybos rezultatas neatitinka pirminės gamybos" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Rezultato detalė neatitinka gamybos užsakymo detalės" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Šis gamybos rezultatas jau užbaigtas" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Šis gamybos rezultatas nėra visiškai paskirstytas" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Įveskite kiekį gamybos rezultatui" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Sekamoms detalėms reikalingas sveikasis kiekis" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Reikalingas sveikasis kiekis, nes komplektavimo žiniaraštyje yra sekamų detalių" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Serijos numeriai" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Įveskite serijos numerius gamybos rezultatams" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Atsargų vieta gamybos rezultatams" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Automatiškai priskirti serijos numerius" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatiškai priskirti reikalingas prekes su atitinkančiais serijos numeriais" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Šie serijos numeriai jau egzistuoja arba yra neteisingi" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Turi būti pateiktas gamybos rezultatų sąrašas" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Atsargų vieta brokuotiems rezultatams" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Atmesti priskyrimus" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Atmesti visus atsargų priskyrimus brokuotiems rezultatams" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Priežastis, dėl kurios gamybos rezultatas(-ai) buvo nurašytas(-i)" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Vieta, kur laikomi užbaigti gamybos rezultatai" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Priimti nepilną priskyrimą" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Užbaigti rezultatus, net jei atsargos dar nėra pilnai priskirtos" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Sunaudoti priskirtas atsargas" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Sunaudoti bet kokias šiai gamybai jau priskirtas atsargas" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Pašalinti nebaigtus rezultatus" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Ištrinti visus nebaigtus gamybos rezultatus" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Neleidžiama" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Priimti kaip sunaudotą šio gamybos užsakymo metu" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Panaikinkite priskyrimus prieš užbaigiant šį gamybos užsakymą" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Per daug paskirstytos atsargos" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Kaip norite elgtis su papildomai šiam gamybos užsakymui priskirtomis atsargomis" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Kai kurios atsargos paskirstytos per daug" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Priimti nepriskirtą" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Priimti, kad atsargos nebuvo visiškai priskirtos šiam gamybos užsakymui" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "Reikalingos atsargos nėra visiškai priskirtos" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Priimti nepilną" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Priimti, kad ne visi reikalingi gamybos rezultatai buvo užbaigti" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "Reikalingas gamybos kiekis nebuvo užbaigtas" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "Gamybos užsakymas turi nebaigtų antrinių gamybų" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "Gamybos užsakymas turi būti gamybos būsenoje" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "Gamybos užsakymas turi nebaigtų rezultatų" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Gamybos eilutė" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Gamybos rezultatas" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "Gamybos rezultatas turi būti susietas su ta pačia gamyba" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Gamybos eilutės įrašas" -#: build/serializers.py:926 +#: build/serializers.py:933 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:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "Prekė turi būti atsargose" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Viršytas prieinamas kiekis ({q})" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "Sekamų detalių priskyrymui turi būti nurodytas gamybos rezultatas" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Negalima nurodyti gamybos rezultato nesekamoms detalėms" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Turi būti pateikti paskirstymo elementai" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Atsargų vieta, iš kurios bus imamos detalės (palikite tuščią, jei tinka bet kuri vieta)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Neįtraukti vietos" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Neįtraukti atsargų iš šios pasirinktos vietos" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Keičiamos atsargos" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Atsargos iš skirtingų vietų gali būti naudojamos pakaitomis" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Pakaitinės atsargos" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Leisti priskirti pakaitines detales" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Pasirenkami elementai" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Priskirti papildomus BOM elementus gamybos užsakymui" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "BOM nuoroda" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "BOM detalės ID" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "BOM detalės pavadinimas" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "Gamyba" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Tiekėjo detalė" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Priskirtas kiekis" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "Gamybos nuoroda" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Detalės kategorijos pavadinimas" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Sekama" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Paveldėta" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Leisti variantus" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "BOM elementas" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "Gamyboje" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Išorinės atsargos" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Prieinamos atsargos" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Prieinamos pakaitinės atsargos" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Prieinamos variantų atsargos" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "Sulaikyta" msgid "Cancelled" msgstr "Atšaukta" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Vėluojantis gamybos užsakymas" msgid "Build order {bo} is now overdue" msgstr "Gamybos užsakymas {bo} dabar vėluoja" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "Yra nuoroda" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "Yra failas" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "Vartotojas neturi teisės ištrinti šių priedų" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "Vartotojas neturi teisės ištrinti šio priedo" @@ -1550,7 +1550,7 @@ msgstr "Nepateikta jokių galiojančių valiutos kodų" msgid "No plugin" msgstr "Nėra papildinio" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Projekto kodo etiketė" @@ -1628,7 +1628,7 @@ msgstr "Vartotojas" msgid "Price break quantity" msgstr "Kiekio ribinis taškas kainai" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Kaina" @@ -1652,7 +1652,7 @@ msgstr "Šio webhook'o pavadinimas" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktyvus" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "Neteisingas pasirinkimas parametro reikšmei" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Šablonas" @@ -2148,7 +2148,7 @@ msgstr "Šablonas" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Data" @@ -2156,18 +2156,18 @@ msgstr "Data" msgid "Parameter Value" msgstr "Parametro reikšmė" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Pastaba" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Neprivalomas pastabų laukas" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Failo pavadinimas" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Modelio tipas" @@ -2465,11 +2465,11 @@ msgstr "Modelio tipas" 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:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "Pasirinkimų sąrašas yra užrakintas" @@ -2859,8 +2859,8 @@ msgstr "Detalės pagal nutylėjimą yra šablonai" msgid "Parts can be assembled from other components by default" msgstr "Detalės pagal nutylėjimą gali būti surenkamos iš kitų komponentų" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Komponentas" @@ -3988,33 +3988,33 @@ msgstr "Detalė yra aktyvi" msgid "Manufacturer is Active" msgstr "Gamintojas yra aktyvus" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "Tiekėjo detalė yra aktyvi" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "Vidinė detalė yra aktyvi" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "Tiekėjas yra aktyvus" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Gamintojas" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Įmonė" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "Turi atsargų" @@ -4195,7 +4195,7 @@ msgstr "Siuntimo pastabos vidiniam naudojimui" msgid "Link to address information (external)" msgstr "Nuoroda į adreso informaciją (išorinė)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Gamintojo detalė" @@ -4213,12 +4213,12 @@ msgstr "Pasirinkite detalę" msgid "Select manufacturer" msgstr "Pasirinkite gamintoją" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "MPN" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Gamintojo detalės numeris (MPN)" @@ -4242,8 +4242,8 @@ msgstr "Pakuotės vienetų kiekis turi būti didesnis už nulį" msgid "Linked manufacturer part must reference the same base part" msgstr "Susieta gamintojo detalė turi nurodyti tą pačią pagrindinę detalę" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Tiekėjas" msgid "Select supplier" msgstr "Pasirinkite tiekėją" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Tiekėjo sandėlio numeris (SKU)" @@ -4290,8 +4290,8 @@ msgstr "bazinė kaina" msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimalus mokestis (pvz., sandėliavimo mokestis)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Pakuotė" @@ -4339,14 +4339,18 @@ msgstr "Numatytoji valiuta, naudojama šiam tiekėjui" msgid "Company Name" msgstr "Įmonės pavadinimas" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "Sandėlyje" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "Įvyko klaida eksportuojant duomenis" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "Šis stulpelis jau yra susietas su duomenų bazės lauku" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "Šis laukas jau yra susietas su duomenų stulpeliu" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "Stulpelių susiejimas turi būti susietas su galiojančia importavimo sesija" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "Stulpelis neegzistuoja duomenų faile" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "Laukas neegzistuoja tiksliniame modelyje" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "Pasirinktas laukas yra tik skaitomas" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "Importavimo sesija" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Laukas" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Stulpelis" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "Eilutės indeksas" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "Pradiniai eilutės duomenys" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "Klaidos" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Galiojantis" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "Užsakymas" msgid "Order Complete" msgstr "Užsakymas įvykdytas" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Vidinė detalė" @@ -4918,7 +4922,7 @@ msgstr "Pradžios data" msgid "Scheduled start date for this order" msgstr "Numatyta pradžios data šiam užsakymui" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Tikslinė data" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Užsakymo nuoroda" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Būsena" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Gauta" msgid "Number of items received" msgstr "Gautų prekių kiekis" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Pirkimo kaina" @@ -5211,8 +5215,8 @@ msgstr "Patikrino" msgid "User who checked this shipment" msgstr "Vartotojas, patikrinęs šią siuntą" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Siunta" @@ -5277,7 +5281,7 @@ msgstr "Priskiriamas kiekis negali viršyti atsargų kiekio" msgid "Allocation quantity must be greater than zero" msgstr "Priskirtas kiekis turi būti didesnis nei nulis" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "Kiekis turi būti 1, jei prekė turi serijos numerį" @@ -5393,7 +5397,7 @@ msgstr "Kopijuoti papildomas eilutes" msgid "Copy extra line items from the original order" msgstr "Kopijuoti papildomas eilutes iš pradinio užsakymo" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Kopijuoti parametrus" @@ -5412,216 +5416,216 @@ msgstr "Eilutės įrašai" msgid "Completed Lines" msgstr "Užbaigtos eilutės" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "Dubliuoti užsakymą" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "Nurodykite užsakymo dubliavimo parinktis" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "Neteisingas užsakymo ID" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Tiekėjo pavadinimas" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "Užsakymo atšaukti negalima" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Leisti užbaigti užsakymą su neužbaigtais eilutės įrašais" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "Užsakyme yra neužbaigtų eilutės įrašų" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "Užsakymas nėra atidarytas" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "Automatinis kainų nustatymas" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Automatiškai apskaičiuoti pirkimo kainą pagal tiekėjo detalės duomenis" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Pirkimo kainos valiuta" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "Sujungti elementus" -#: order/serializers.py:691 +#: order/serializers.py:728 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:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "SKU" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Vidinis detalės numeris" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "Vidinis detalės pavadinimas" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "Turi būti nurodyta tiekėjo detalė" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "Turi būti nurodytas pirkimo užsakymas" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "Tiekėjas turi atitikti pirkimo užsakymą" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "Pirkimo užsakymas turi atitikti tiekėją" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Eilutės įrašas" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Pasirinkite paskirties vietą gautiems elementams" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Įveskite partijos kodą gaunamoms atsargoms" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Galiojimo data" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "Įveskite galiojimo datą gaunamoms atsargoms" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Įveskite gaunamų atsargų serijos numerius" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "Pakeisti gaunamų atsargų pakavimo informaciją" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "Papildoma pastaba gaunamoms atsargoms" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Brūkšninis kodas" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Nuskaitytas brūkšninis kodas" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Brūkšninis kodas jau naudojamas" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Turi būti pateikti eilutės įrašai" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "Turi būti nurodyta paskirties vieta" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "Pateiktos brūkšninių kodų reikšmės turi būti unikalios" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "Siuntos" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Užbaigtos siuntos" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Pardavimo kainos valiuta" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "Paskirstyti elementai" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "Nepateikta siuntos informacija" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "Eilutės įrašas nėra susijęs su šiuo užsakymu" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "Kiekis turi būti teigiamas" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Įveskite priskiriamus serijos numerius" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "Siunta jau išsiųsta" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "Siunta nėra susieta su šiuo užsakymu" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "Nerasta atitikmenų šiems serijos numeriams" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "Šie serijos numeriai nepasiekiami" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "Grąžinimo užsakymo eilutės įrašas" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "Eilutės įrašas neatitinka grąžinimo užsakymo" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "Eilutės įrašas jau gautas" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Elementai gali būti priimami tik pagal vykdomus užsakymus" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "Grąžinamas kiekis" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Eilutės kainos valiuta" @@ -5837,7 +5841,7 @@ msgstr "Numatytieji raktažodžiai detalėms šioje kategorijoje" msgid "Icon" msgstr "Piktograma" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Piktograma (neprivaloma)" @@ -5858,7 +5862,7 @@ msgstr "Numatytoji reikšmė" msgid "Default Parameter Value" msgstr "Numatytoji parametro reikšmė" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Detalės" @@ -5973,7 +5977,7 @@ msgstr "Detalės raktažodžiai, skirti pagerinti matomumą paieškos rezultatuo msgid "Part category" msgstr "Detalės kategorija" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6006,7 +6010,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:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Minimalus atsargų kiekis" @@ -6487,355 +6491,355 @@ msgstr "Detalių ryšio negalima sukurti tarp detalės ir jos pačios" msgid "Duplicate relationship already exists" msgstr "Toks ryšys jau egzistuoja" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "Pagrindinė kategorija" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "Pagrindinė detalių kategorija" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Subkategorijos" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "Rezultatai" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "Rezultatų skaičius, susietas su šiuo šablonu" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Šio atsargų elemento pirkimo valiuta" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "Failas nėra paveikslėlis" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Pradinė detalė" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Pasirinkite pradinę detalę kopijavimui" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Kopijuoti paveikslėlį" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Kopijuoti paveikslėlį iš pradinės detalės" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Kopijuoti BOM" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "Kopijuoti komplektavimo žiniaraštį iš pradinės detalės" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "Kopijuoti parametrų duomenis iš pradinės detalės" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Kopijuoti pastabas" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "Kopijuoti pastabas iš pradinės detalės" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Pradinis atsargų kiekis" -#: part/serializers.py:448 +#: part/serializers.py:451 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:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "Pradinė atsargų vieta" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "Nurodykite pradinę atsargų vietą šiai detalei" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "Pasirinkite tiekėją (arba palikite tuščią, jei nenorite nurodyti)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "Pasirinkite gamintoją (arba palikite tuščią, jei nenorite nurodyti)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Gamintojo detalės numeris" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "Pasirinkta įmonė nėra galiojantis tiekėjas" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "Pasirinkta įmonė nėra galiojantis gamintojas" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "Detalė su šiuo gamintojo numeriu (MPN) jau egzistuoja" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "Tiekėjo detalė su šiuo SKU jau egzistuoja" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Kategorijos pavadinimas" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "Surinkimas" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Atsargos" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "Versijos" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Bendros atsargos" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "Nepriskirtos atsargos" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "Variantų atsargos" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Kopijuoti detalę" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "Kopijuoti pradinius duomenis iš kitos detalės" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Pradinės atsargos" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Sukurti detalę su pradiniu atsargų kiekiu" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Tiekėjo informacija" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "Pridėti pradinę tiekėjo informaciją šiai detalei" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Kopijuoti kategorijos parametrus" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "Kopijuoti parametrų šablonus iš pasirinktos detalių kategorijos" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Esamas paveikslėlis" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "Esamos detalės paveikslėlio failo pavadinimas" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "Paveikslėlio failas neegzistuoja" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Patvirtinti visą komplektavimo žiniaraštį" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Galima surinkti" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Mažiausia kaina" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Pakeisti apskaičiuotą mažiausią kainą" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Mažiausios kainos valiuta" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Didžiausia kaina" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "Pakeisti apskaičiuotą didžiausią kainą" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Didžiausios kainos valiuta" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Atnaujinti" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "Atnaujinti šios detalės kainodarą" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Nepavyko konvertuoti iš nurodytų valiutų į {default_currency}" -#: part/serializers.py:1528 +#: part/serializers.py:1560 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:1531 +#: part/serializers.py:1563 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:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "Pasirinkite pirminį surinkimą" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "Pasirinkite komponentinę detalę" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "Pasirinkite detalę, iš kurios kopijuoti BOM" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Pašalinti esamus duomenis" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "Pašalinti esamus BOM elementus prieš kopijuojant" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Įtraukti paveldėtus" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "Įtraukti BOM elementus, paveldėtus iš šabloninių detalių" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Praleisti netinkamas eilutes" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Įjunkite šią parinktį, jei norite praleisti netinkamas eilutes" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Kopijuoti pakaitines detales" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopijuoti pakaitines detales, kai kopijuojami BOM elementai" @@ -8288,7 +8292,7 @@ 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:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Sumontuoti elementai" @@ -8361,7 +8365,7 @@ msgstr "Filtruoti pagal aukščiausio lygio vietas" msgid "Include sub-locations in filtered results" msgstr "Įtraukti sub-vietas į filtravimo rezultatus" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "Pirminė vieta" @@ -8445,7 +8449,7 @@ msgstr "Galiojimo data iki" msgid "Expiry date after" msgstr "Galiojimo data po" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "Pasenusi" @@ -8579,7 +8583,7 @@ msgstr "Turi būti nurodyta detalė" msgid "Stock items cannot be located into structural stock locations!" msgstr "Atsargos negali būti patalpintos į struktūrines atsargų vietas!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "Atsargų elementas negali būti sukurtas virtualioms detalėms" @@ -8624,7 +8628,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:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "Pakuotė, kurioje laikomas šis atsargų elementas" @@ -8640,7 +8644,7 @@ msgstr "Ar šis elementas yra sumontuotas kitame elemente?" msgid "Serial number for this item" msgstr "Šio elemento serijos numeris" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Šio atsargų elemento partijos kodas" @@ -8753,7 +8757,7 @@ msgstr "Atsargų elementas šiuo metu gaminamas" msgid "Serialized stock cannot be merged" msgstr "Su serijos numeriais pažymėtų atsargų sujungti negalima" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "Pasikartojantys atsargų elementai" @@ -8877,7 +8881,7 @@ msgstr "Pasirinkite detalę serijos numeriui sugeneruoti" msgid "Quantity of serial numbers to generate" msgstr "Kiekis serijos numerių, kuriuos reikia sugeneruoti" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "Bandymo šablonas šiam rezultatui" @@ -8901,222 +8905,222 @@ msgstr "Pirminis elementas" msgid "Parent stock item" msgstr "Pirminis atsargų elementas" -#: stock/serializers.py:451 +#: stock/serializers.py:454 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:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "Įveskite serijos numerius naujiems elementams" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "Tiekėjo detalės numeris" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "Nebegaliojantis" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Antriniai elementai" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "Sekami elementai" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "Šio atsargų elemento pirkimo kaina, vienetui arba pakuotei" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "Įveskite atsargų elementų, kuriuos reikia serializuoti, skaičių" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Kiekis negali viršyti galimų atsargų kiekio ({q})" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "Paskirties atsargų vieta" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "Šiai detalei negali būti priskirti serijos numeriai" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Serijos numeriai jau egzistuoja" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "Pasirinkite atsargų elementą montavimui" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "Montuojamas kiekis" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "Įveskite montuojamų elementų kiekį" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "Pridėkite operacijos pastabą (neprivaloma)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "Montuojamas kiekis turi būti bent 1" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "Atsargų elementas nepasiekiamas" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "Pasirinktos detalės nėra komplektavimo žiniaraštyje" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "Montuojamas kiekis negali viršyti turimo kiekio" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "Paskirties vieta išmontuotam elementui" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "Pasirinkite detalę, į kurią konvertuoti atsargų elementą" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "Pasirinkta detalė netinkama konvertavimui" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Negalima konvertuoti atsargų elemento, kuriam priskirta tiekėjo detalė" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "Atsargų elemento būsenos kodas" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "Pasirinkite atsargų elementus būsenai pakeisti" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "Nepasirinkti jokie atsargų elementai" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Sub-vietos" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "Pirminė atsargų vieta" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "Detalė turi būti parduodama" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "Elementas priskirtas pardavimo užsakymui" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "Elementas priskirtas gamybos užsakymui" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "Klientas, kuriam priskiriami atsargų elementai" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "Pasirinkta įmonė nėra klientas" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Atsargų priskyrimo pastabos" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "Turi būti pateiktas atsargų elementų sąrašas" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Atsargų sujungimo pastabos" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Leisti skirtingus tiekėjus" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 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:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Leisti skirtingas būsenas" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "Leisti sujungti atsargų elementus su skirtingais būsenos kodais" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "Turi būti pateikti bent du atsargų elementai" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "Be pakeitimų" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Atsargų elemento pirminio rakto reikšmė" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "Atsargų elemento nėra sandėlyje" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Atsargų operacijos pastabos" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "Kitas serijos numeris" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "Ankstesnis serijos numeris" @@ -9598,99 +9602,99 @@ msgstr "Pardavimo užsakymai" msgid "Return Orders" msgstr "Grąžinimo užsakymai" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Vartotojo vardas" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Vardas" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Vartotojo vardas" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Pavardė" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Vartotojo pavardė" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Vartotojo el. pašto adresas" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Supervartotojas" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Ar šis vartotojas yra supervartotojas" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Ar ši vartotojo paskyra yra aktyvi" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "Tik supervartotojas gali keisti šį lauką" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "Neturite leidimo kurti vartotojų" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Jūsų paskyra sukurta." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Prisijungimui naudokite slaptažodžio atstatymo funkciją" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Sveiki atvykę į InvenTree" diff --git a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po index 73107e725c..5644d12970 100644 --- a/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/lv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Language: lv_LV\n" @@ -104,13 +104,13 @@ msgstr "Ievadiet datumu" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Piezīmes" @@ -215,7 +215,7 @@ msgstr "Norādītajā URL nav derīgs attēla fails" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "" @@ -336,51 +336,51 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +687,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -695,24 +695,24 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "" @@ -861,16 +861,16 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "" @@ -964,7 +964,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "" @@ -1099,378 +1099,378 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "" @@ -2148,7 +2148,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2156,18 +2156,18 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "" diff --git a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po index e50f14380d..7c76c77f53 100644 --- a/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/nl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:40\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Language: nl_NL\n" @@ -23,7 +23,7 @@ msgstr "API eindpunt niet gevonden" #: InvenTree/api.py:438 msgid "List of items must be provided for bulk operation" -msgstr "" +msgstr "Lijst met items of filters moet worden opgegeven voor bulk bewerking" #: InvenTree/api.py:445 msgid "Items must be provided as a list" @@ -104,13 +104,13 @@ msgstr "Voer datum in" msgid "Invalid decimal value" msgstr "Ongeldige decimale waarde" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Opmerkingen" @@ -165,19 +165,19 @@ msgstr "Gegevens bevatten verboden markdown inhoud" #: InvenTree/helpers_model.py:109 msgid "Invalid URL: no hostname" -msgstr "" +msgstr "Ongeldige URL: geen hostnaam" #: InvenTree/helpers_model.py:114 msgid "Invalid URL: hostname could not be resolved" -msgstr "" +msgstr "Ongeldige URL: hostnaam kon niet worden opgelost" #: InvenTree/helpers_model.py:120 msgid "URL points to a private or reserved IP address" -msgstr "" +msgstr "URL-punten naar een privé of gereserveerd IP-adres" #: InvenTree/helpers_model.py:195 msgid "Too many redirects" -msgstr "" +msgstr "Te veel doorverwijzingen" #: InvenTree/helpers_model.py:200 msgid "Connection error" @@ -215,7 +215,7 @@ msgstr "Opgegeven URL is geen geldig afbeeldingsbestand" msgid "Log in to the app" msgstr "Log in op de app" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "E-mail" @@ -336,51 +336,51 @@ msgstr "Er is een fout gelogd door de server." msgid "Image" msgstr "Afbeelding" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Moet een geldig nummer zijn" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Selecteer valuta uit beschikbare opties" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "Dit veld mag niet nul zijn." -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Ongeldige waarde" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Externe afbeelding" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URL van extern afbeeldingsbestand" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Afbeeldingen van externe URL downloaden is niet ingeschakeld" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Fout bij het downloaden van afbeelding van externe URL" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "Ongeldig inhoudstype" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "Inhoudstype niet gevonden" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "Content type komt niet overeen met de vereiste mixin klasse" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Inclusief varianten" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Inclusief varianten" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Inclusief varianten" msgid "Part" msgstr "Onderdeel" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Categorie" @@ -669,16 +669,16 @@ msgstr "Boomstructuur uitsluiten" msgid "Build must be cancelled before it can be deleted" msgstr "Productie moet geannuleerd worden voordat het kan worden verwijderd" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Verbruiksartikelen" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Optioneel" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Samenstelling" @@ -687,7 +687,7 @@ msgstr "Samenstelling" msgid "Tracked" msgstr "Gevolgd" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Testbaar" @@ -695,30 +695,30 @@ msgstr "Testbaar" msgid "Order Outstanding" msgstr "Openstaande order" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Toegewezen" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "Verbruikt" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "In bestelling" #: build/api.py:671 msgid "Build not found" -msgstr "" +msgstr "Build niet gevonden" #: build/api.py:941 build/models.py:120 order/models.py:2024 #: report/templates/report/inventree_build_order_report.html:105 @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Productieorder" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Locatie" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "Uitvoer" @@ -783,7 +783,7 @@ msgstr "Doeldatum moet na startdatum zijn" msgid "Build Order Reference" msgstr "Productieorderreferentie" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Verkooporder Referentie" msgid "Sales Order to which this build is allocated" msgstr "Productieopdracht waar dit productie aan is toegewezen" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Bronlocatie" @@ -861,16 +861,16 @@ msgstr "Productiestatus" msgid "Build status code" msgstr "Productiestatuscode" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Batchcode" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Batchcode voor deze productieuitvoer" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Aanmaakdatum" @@ -964,7 +964,7 @@ msgstr "Productieorder {build} is voltooid" msgid "A build order has been completed" msgstr "Een productieorder is voltooid" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "Serienummers moeten worden opgegeven voor traceerbare onderdelen" @@ -980,23 +980,23 @@ msgstr "Productie uitvoer is al voltooid" msgid "Build output does not match Build Order" msgstr "Productuitvoer komt niet overeen met de Productieorder" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Hoeveelheid moet groter zijn dan nul" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "Hoeveelheid kan niet groter zijn dan aantal" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "Build output heeft niet alle vereiste tests doorstaan" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Build output {serial} heeft niet alle vereiste tests doorstaan" @@ -1017,10 +1017,10 @@ msgstr "Bouw order regel item" msgid "Build object" msgstr "Bouw object" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Bouw object" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Toegewezen hoeveelheid ({q}) mag de beschikbare voorraad ({a}) niet over msgid "Stock item is over-allocated" msgstr "Voorraad item is te veel toegewezen" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Voorraadartikel" @@ -1099,378 +1099,378 @@ msgstr "Bestemming voorraadartikel" msgid "Build Level" msgstr "Bouw level" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Onderdeel naam" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Productieuitvoer" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Productieuitvoer komt niet overeen met de bovenliggende productie" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Uitvoeronderdeel komt niet overeen met productieorderonderdeel" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Deze productieuitvoer is al voltooid" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Deze productieuitvoer is niet volledig toegewezen" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Voer hoeveelheid in voor productie uitvoer" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Hoeveelheid als geheel getal vereist voor traceerbare onderdelen" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Geheel getal vereist omdat de stuklijst traceerbare onderdelen bevat" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Serienummers" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Voer serienummers in voor productieuitvoeren" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Voorraad locatie voor project uitvoer" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Serienummers automatisch toewijzen" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "Vereiste artikelen automatisch toewijzen met overeenkomende serienummers" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "De volgende serienummers bestaan al of zijn ongeldig" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Een lijst van productieuitvoeren moet worden verstrekt" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Voorraadlocatie voor geannuleerde outputs" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Toewijzingen weggooien" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Verwijder alle voorraadtoewijzingen voor geannuleerde outputs" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Reden voor annulering van bouworder(s)" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Locatie van voltooide productieuitvoeren" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Incomplete Toewijzing Accepteren" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Voltooi de uitvoer als de voorraad niet volledig is toegewezen" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Toegewezen voorraad gebruiken" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Verbruik elke voorraad die al is toegewezen aan deze build" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Verwijder Incomplete Uitvoeren" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Verwijder alle productieuitvoeren die niet zijn voltooid" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Niet toegestaan" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Accepteer zoals geconsumeerd onder deze bouwopdracht" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "De-alloceren voordat deze bouwopdracht voltooid wordt" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Overgealloceerde voorraad" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hoe wilt u omgaan met extra voorraaditems toegewezen aan de bouworder" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Sommige voorraadartikelen zijn overalloceerd" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Accepteer Niet-toegewezen" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Accepteer dat voorraadartikelen niet volledig zijn toegewezen aan deze productieorder" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "Vereiste voorraad is niet volledig toegewezen" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Accepteer Onvolledig" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Accepteer dat het vereist aantal productieuitvoeren niet is voltooid" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "Vereiste productiehoeveelheid is voltooid" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "Bouw opdracht heeft open sub bouw orders" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "Bouwen moet in de productiestatus staan" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "Productieorder heeft onvolledige uitvoeren" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Productielijn" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Productieuitvoer" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "Productieuitvoer moet naar dezelfde productie wijzen" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Bouw lijn-item" -#: build/serializers.py:926 +#: build/serializers.py:933 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:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "Artikel moet op voorraad zijn" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Beschikbare hoeveelheid ({q}) overschreden" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "Productieuitvoer moet worden opgegeven voor de toewijzing van gevolgde onderdelen" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Productieuitvoer kan niet worden gespecificeerd voor de toewijzing van niet gevolgde onderdelen" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Allocaties voor artikelen moeten worden opgegeven" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Voorraadlocatie waar onderdelen afkomstig zijn (laat leeg om van elke locatie te nemen)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Locatie uitsluiten" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Voorraadartikelen van deze geselecteerde locatie uitsluiten" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Uitwisselbare voorraad" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Voorraadartikelen op meerdere locaties kunnen uitwisselbaar worden gebruikt" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Vervangende Voorraad" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Toewijzing van vervangende onderdelen toestaan" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Optionele Items" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Alloceer optionele BOM items om bestelling te bouwen" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "Alle artikelen" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "Niet Gevolgde items" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "Gevolgde Items" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "Item Type" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "Selecteer item type om automatisch toe te wijzen" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "BOM referentie" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "BOM onderdeel ID" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "BOM onderdeel naam" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "Instaleeren Op" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "Bouwen" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Leveranciersonderdeel" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Toegewezen hoeveelheid" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "Bouw referentie" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Naam categorie onderdeel" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Volgbaar" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Overgenomen" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Varianten toestaan" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Stuklijstartikel" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "In productie" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "Gepland om te bouwen" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Externe voorraad" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Beschikbare Voorraad" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Beschikbare vervanging voorraad" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Beschikbare varianten voorraad" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "Verbruikte hoeveelheid overschrijdt toegewezen hoeveelheid" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "Optionele notities voor voorraadverbruik" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "Het bouwelement moet verwijzen naar de juiste bouwopdracht" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "Dupliceer build item allocatie" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "Build line moet verwijzen naar de juiste bouwopdracht" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "Dupliceer build line toewijzing" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "Ten minste één item of regel moet worden opgegeven" @@ -1494,7 +1494,7 @@ msgstr "In de wacht" msgid "Cancelled" msgstr "Geannuleerd" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Achterstallige Productieorder" msgid "Build order {bo} is now overdue" msgstr "Productieorder {bo} is nu achterstallig" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "Is koppeling" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "Is een bestand" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "Gebruiker heeft geen toestemming om deze bijlagen te verwijderen" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "Gebruiker heeft geen toestemming om deze bijlage te verwijderen." @@ -1550,7 +1550,7 @@ msgstr "Geen geldige valuta codes opgegeven" msgid "No plugin" msgstr "Geen plug-in gevonden" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Projectcode label" @@ -1628,7 +1628,7 @@ msgstr "Gebruiker" msgid "Price break quantity" msgstr "Prijs pauze hoeveelheid" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Prijs" @@ -1652,7 +1652,7 @@ msgstr "Naam van deze webhook" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Actief" @@ -2126,7 +2126,7 @@ msgstr "Parameters" msgid "Invalid choice for parameter value" msgstr "Ongeldige keuze voor parameter waarde" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "Ongeldig modeltype opgegeven voor parameter" @@ -2140,7 +2140,7 @@ msgstr "ID van het doelmodel voor deze parameter" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Sjabloon" @@ -2148,7 +2148,7 @@ msgstr "Sjabloon" msgid "Parameter template" msgstr "Parameter sjabloon" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Gegevens" @@ -2156,18 +2156,18 @@ msgstr "Gegevens" msgid "Parameter Value" msgstr "Parameterwaarde" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Opmerking" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Optioneel notities veld" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Bestandsnaam" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Model type" @@ -2465,11 +2465,11 @@ msgstr "Model type" 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:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "Gebruiker heeft geen toestemming om parameters voor dit model te maken of te bewerken" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "Lijst met selecties is vergrendeld" @@ -2547,19 +2547,19 @@ msgstr "Toon de `over` modal alleen aan superusers" #: common/setting/system.py:239 msgid "Show superuser banner" -msgstr "" +msgstr "Toon superuser banner" #: common/setting/system.py:240 msgid "Show a warning banner in the UI when logged in as superuser" -msgstr "" +msgstr "Toon een waarschuwings-banner in de UI wanneer ingelogd als superuser" #: common/setting/system.py:245 msgid "Show admin banner" -msgstr "" +msgstr "Toon admin banner" #: common/setting/system.py:246 msgid "Show a warning banner in the UI when logged in as admin" -msgstr "" +msgstr "Toon een waarschuwings-banner in de UI wanneer ingelogd als admin" #: common/setting/system.py:251 company/models.py:147 company/models.py:148 msgid "Company name" @@ -2859,8 +2859,8 @@ msgstr "Onderdelen zijn standaard sjablonen" msgid "Parts can be assembled from other components by default" msgstr "Onderdelen kunnen standaard vanuit andere componenten worden samengesteld" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Onderdeel" @@ -3034,7 +3034,7 @@ msgstr "Indien beschikbaar, interne prijzen overschrijven berekeningen van prijs #: common/setting/system.py:654 msgid "Allow BOM Zero Quantity" -msgstr "" +msgstr "BOM Zero Quantity toestaan" #: common/setting/system.py:656 msgid "Accept a zero quantity for BOM item for part. Enables using setup quantity to define a quantity required per build, independent of build quantity" @@ -3601,7 +3601,7 @@ msgstr "Voorraadgegevens zal worden verwijderd na het opgegeven aantal dagen" #: common/setting/system.py:1163 msgid "Delete Old Stock Tracking Entries" -msgstr "" +msgstr "Oude voorraadgegevens verwijderen" #: common/setting/system.py:1165 msgid "Delete stock tracking entries older than the specified number of days" @@ -3988,33 +3988,33 @@ msgstr "Onderdeel is actief" msgid "Manufacturer is Active" msgstr "Fabrikant is actief" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "Leveranciersonderdelen is actief" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "Primaire leverancierdeel" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "Intern onderdeel is actief" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "Leverancier is actief" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Fabrikant" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Bedrijf" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "Heeft voorraad" @@ -4195,7 +4195,7 @@ msgstr "Verzend notities voor intern gebruik" msgid "Link to address information (external)" msgstr "Link naar adres gegevens (extern)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Fabrikant onderdeel" @@ -4213,12 +4213,12 @@ msgstr "Onderdeel selecteren" msgid "Select manufacturer" msgstr "Fabrikant selecteren" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "Fabrikant artikel nummer" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Fabrikant artikel nummer (MPN)" @@ -4242,8 +4242,8 @@ msgstr "Hoeveelheid moet groter zijn dan nul" msgid "Linked manufacturer part must reference the same base part" msgstr "Gekoppeld fabrikant onderdeel moet verwijzen naar hetzelfde basis onderdeel" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Leverancier" msgid "Select supplier" msgstr "Leverancier selecteren" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Voorraad beheers eenheid voor leveranciers" @@ -4290,8 +4290,8 @@ msgstr "basisprijs" msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimale kosten (bijv. voorraadkosten)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Verpakking" @@ -4339,14 +4339,18 @@ msgstr "Standaardvaluta die gebruikt wordt voor deze leverancier" msgid "Company Name" msgstr "Bedrijfsnaam" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "Op voorraad" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "Prijsverschillen" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "Fout opgetreden tijdens data export" @@ -4451,67 +4455,67 @@ msgstr "ID" msgid "Existing database identifier for the record" msgstr "Bestaande database-identifier voor het record" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "De kolom is al toegewezen aan een database veld" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "Het veld is al toegewezen aan een data-kolom" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "Kolom toewijzing moet worden gekoppeld aan een geldige importsessie" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "Kolom bestaat niet in het gegevensbestand" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "Veld bestaat niet in het doel model" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "Geselecteerde veld is alleen lezen" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "Importeer sessie" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Veld" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Kolom" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "Rij index" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "Oorspronkelijke rij gegevens" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "Fouten" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Geldig" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "ID is vereist voor het bijwerken van bestaande records." -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "Geen record gevonden met het opgegeven ID" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "Ongeldig ID formaat opgegeven" @@ -4821,7 +4825,7 @@ msgstr "Bestellen" msgid "Order Complete" msgstr "Bestelling voltooid" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Intern onderdeel" @@ -4918,7 +4922,7 @@ msgstr "Start datum" msgid "Scheduled start date for this order" msgstr "Geplande startdatum voor deze bestelling" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Streefdatum" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Orderreferentie" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Status" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Ontvangen" msgid "Number of items received" msgstr "Aantal ontvangen artikelen" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Inkoopprijs" @@ -5211,8 +5215,8 @@ msgstr "Gecontroleerd door" msgid "User who checked this shipment" msgstr "Gebruiker die deze zending gecontroleerd heeft" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Zending" @@ -5277,7 +5281,7 @@ msgstr "Toewijzingshoeveelheid kan niet hoger zijn dan de voorraadhoeveelheid" msgid "Allocation quantity must be greater than zero" msgstr "Toewijzing hoeveelheid moet groter zijn dan nul" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "Hoeveelheid moet 1 zijn voor geserialiseerd voorraadartikel" @@ -5393,7 +5397,7 @@ msgstr "Extra regels kopiëren" msgid "Copy extra line items from the original order" msgstr "Extra regelitems van de oorspronkelijke bestelling kopiëren" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Parameters kopiëren" @@ -5412,217 +5416,217 @@ msgstr "Artikelen" msgid "Completed Lines" msgstr "Afgeronde regel items" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "Artikel dupliceren" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "Specificeer opties voor het dupliceren van deze bestelling" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "Ongeldige order ID" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Leveranciers Naam" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "Order kan niet worden geannuleerd" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Toestaan order te sluiten met onvolledige regelitems" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "Bestelling heeft onvolledige regelitems" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "Order is niet open" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "Automatisch prijzen" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Koopprijs automatisch berekenen gebaseerd op leveranciers \n" " onderdelen gegevens" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Valuta Inkoopprijs" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "Items samenvoegen" -#: order/serializers.py:691 +#: order/serializers.py:728 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:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "SKU" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Intern Onderdeelnummer" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "Interne naam onderdeel" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "Leveranciersonderdeel moet worden gespecificeerd" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "Inkooporder moet worden gespecificeerd" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "De leverancier moet overeenkomen met de inkooporder" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "Inkooporder moet overeenkomen met de leverancier" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Artikel" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Selecteer bestemmingslocatie voor ontvangen artikelen" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Voer batch code in voor inkomende voorraad items" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Vervaldatum" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "Voer vervaldatum in voor inkomende voorraad items" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Voer serienummers in voor inkomende voorraadartikelen" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "Overschrijf verpakkingsinformatie voor binnenkomende voorraad" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "Extra opmerking voor inkomende voorraad items" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Streepjescode" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Gescande streepjescode" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Streepjescode is al in gebruik" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Artikelen moeten worden opgegeven" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "Bestemmingslocatie moet worden opgegeven" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "Geleverde streepjescodewaarden moeten uniek zijn" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "Verzendingen" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Voltooide Verzendingen" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "Toegewezen lijnen" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Valuta verkoopprijs" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "Toegewezen items" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "Geen verzenddetails opgegeven" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "Artikelregel is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "Hoeveelheid moet positief zijn" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Voer serienummers in om toe te wijzen" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "Verzending is al verzonden" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "Zending is niet gekoppeld aan deze bestelling" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "Geen overeenkomst gevonden voor de volgende serienummers" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "De volgende serienummers zijn niet beschikbaar" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "Retourneer regel item" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "Artikelregel komt niet overeen met inkooporder" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "Regel item is al ontvangen" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Artikelen kunnen alleen worden ontvangen tegen lopende bestellingen" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "Hoeveelheid te retourneren" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Lijn prijs valuta" @@ -5838,7 +5842,7 @@ msgstr "Standaard trefwoorden voor delen in deze categorie" msgid "Icon" msgstr "Pictogram" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Pictogram (optioneel)" @@ -5859,7 +5863,7 @@ msgstr "Standaard waarde" msgid "Default Parameter Value" msgstr "Standaard Parameter Waarde" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Onderdelen" @@ -5974,7 +5978,7 @@ msgstr "Deel sleutelwoorden om de zichtbaarheid van de zoekresultaten te verbete msgid "Part category" msgstr "Onderdeel Categorie" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6007,7 +6011,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:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Minimum voorraad" @@ -6488,355 +6492,355 @@ msgstr "Onderdeel relatie kan niet worden gecreëerd tussen een deel en zichzelf msgid "Duplicate relationship already exists" msgstr "Dubbele relatie bestaat al" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "Bovenliggende categorie" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "Bovenliggende onderdeel categorie" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Subcategorieën" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "Resultaten" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "Aantal resultaten opgenomen ten opzichte van deze template" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Inkooporder voor dit voorraadartikel" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "Bestand is geen afbeelding" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Oorspronkelijk onderdeel" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Selecteer origineel onderdeel om te dupliceren" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Afbeelding kopiëren" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Afbeelding kopiëren van het oorspronkelijke onderdeel" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Copy BOM" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "Kopieer materiaal van het oorspronkelijke deel" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "Parameter data kopiëren van het originele onderdeel" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Notities kopiëren" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "Kopieer notities van het originele deel" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "Tests kopiëren" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "Test sjablonen kopiëren van het originele deel" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Eerste voorraad hoeveelheid" -#: part/serializers.py:448 +#: part/serializers.py:451 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:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "Eerste voorraad locatie" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "Specificeer locatie van de eerste voorraad voor dit onderdeel" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "Selecteer leverancier (of laat leeg om niets in te vullen)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecteer fabrikant (of laat leeg om niets in te vullen)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Fabrikant artikel nummer" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "Geselecteerde onderneming is geen geldige leverancier" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "Geselecteerde bedrijf is geen geldige fabrikant" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "Fabrikant deel dat overeenkomt met deze MPN bestaat al" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "Leveranciersdeel dat overeenkomt met deze SKU bestaat al" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Categorie naam" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "Bouwen" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "Hoeveelheid van dit deel dat momenteel in productie is" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Er zal een onuitputtelijke hoeveelheid van dit deel worden gebouwd" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Voorraadartikelen" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "Revisies" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Totale Voorraad" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "Niet toegewezen voorraad" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "Variant voorraad" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Dupliceer onderdeel" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "Kopieer eerste gegevens uit een ander onderdeel" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Eerste voorraad" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Maak onderdeel met eerste voorraad" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Leveranciersgegevens" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "Aanvankelijke leveranciersinformatie voor dit deel toevoegen" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Categorie parameters kopiëren" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "Parameter sjablonen kopiëren uit geselecteerde onderdeel categorie" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Bestaande afbeelding" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "Bestandsnaam van een bestaande onderdeel afbeelding" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "Afbeeldingsbestand bestaat niet" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Valideer de gehele materiaalbon" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Kan bouwen" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "Vereist voor bouworders" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "Toegewezen aan bouwen van orders" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "Vereist voor verkooporders" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "Toegewezen aan verkooporders" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "IPN onderdeel" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "Onderdeel omschrijving" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "Rapport Maken" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Minimale prijs" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Overschrijf berekende waarde voor minimale prijs" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Minimale prijs valuta" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Maximale prijs" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "Overschrijf de berekende waarde voor de maximale prijs" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Maximale prijs valuta" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Bijwerken" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "Prijzen voor dit onderdeel bijwerken" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, 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:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "Minimumprijs mag niet hoger zijn dan de maximale prijs" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "Maximale prijs mag niet lager zijn dan de minimale prijs" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "Selecteer de bovenliggende assemblage" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "Selecteer het onderdeel" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "Selecteer onderdeel om BOM van te kopiëren" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Bestaande gegevens verwijderen" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "Verwijder bestaande BOM items voor het kopiëren" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Inclusief overgenomen" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "Inclusief stuklijst BOM items die worden overgenomen van getemplated onderdelen" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Ongeldige regels overslaan" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Schakel deze optie in om ongeldige rijen over te slaan" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Verwijder vervangend deel" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopieer vervangende onderdelen bij dubbele stuklijst BOM items" @@ -8289,7 +8293,7 @@ msgstr "Rapport voorraadcontrole" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Geïnstalleerde items" @@ -8362,7 +8366,7 @@ msgstr "Filter op topniveau locaties" msgid "Include sub-locations in filtered results" msgstr "Inclusief sublocaties in gefilterde resultaten" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "Bovenliggende locatie" @@ -8446,7 +8450,7 @@ msgstr "Vervaldatum voor" msgid "Expiry date after" msgstr "Vervaldatum na" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "Verouderd" @@ -8580,7 +8584,7 @@ msgstr "Onderdeel moet gespecificeerd worden" msgid "Stock items cannot be located into structural stock locations!" msgstr "Voorraaditems kunnen niet worden geplaatst in structurele voorraadlocaties!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "Voorraadartikel kan niet worden aangemaakt voor virtuele onderdelen" @@ -8625,7 +8629,7 @@ msgstr "Selecteer een leveranciersdeel voor dit voorraadartikel" msgid "Where is this stock item located?" msgstr "Waar bevindt zich dit voorraaditem?" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "Het verpakken van dit voorraaditem is opgeslagen in" @@ -8641,7 +8645,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:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Batch code voor dit voorraaditem" @@ -8754,7 +8758,7 @@ msgstr "Voorraad item is momenteel in productie" msgid "Serialized stock cannot be merged" msgstr "Geserialiseerde voorraad kan niet worden samengevoegd" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "Dupliceer voorraadartikelen" @@ -8878,7 +8882,7 @@ msgstr "Selecteer onderdeel voor het genereren van het serienummer voor" msgid "Quantity of serial numbers to generate" msgstr "Aantal serienummers om te genereren" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "Test template voor dit resultaat" @@ -8902,222 +8906,222 @@ msgstr "Bovenliggend Item" msgid "Parent stock item" msgstr "Bovenliggende voorraad item" -#: stock/serializers.py:451 +#: stock/serializers.py:454 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:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "Gebruik pakketgrootte" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "Voer serienummers voor nieuwe items in" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "Leverancier artikelnummer" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "Verlopen" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Onderliggende items" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "Items volgen" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "Inkoopprijs van dit voorraadartikel, per eenheid of pakket" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "Aantal voorraaditems om serienummers voor te maken" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "Geen voorraad item opgegeven" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, 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:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "Locatie van bestemming" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "Serienummers kunnen niet worden toegewezen aan dit deel" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Serienummers bestaan al" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "Selecteer voorraaditem om te installeren" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "Te installeren hoeveelheid" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "Voer de te installeren hoeveelheid items in" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "Transactienotitie toevoegen (optioneel)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "Te installeren hoeveelheid moet minimaal 1 zijn" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "Voorraadartikel is niet beschikbaar" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "Het geselecteerde deel zit niet in de materialen lijst" -#: stock/serializers.py:869 +#: stock/serializers.py:883 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:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "Bestemmingslocatie voor verwijderd item" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "Selecteer onderdeel om voorraaditem om te zetten in" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "Het geselecteerde deel is geen geldige optie voor de omzetting" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Kan voorraadartikel niet converteren met toegewezen leverancier deel" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "Voorraad status code" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "Selecteer voorraadartikelen om status te wijzigen" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "Geen voorraaditems geselecteerd" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Sublocaties" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "Bovenliggende voorraad locatie" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "Onderdeel moet verkoopbaar zijn" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "Artikel is toegewezen aan een verkooporder" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "Artikel is toegewezen aan een productieorder" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "Klant om voorraadartikelen toe te wijzen" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "Geselecteerde bedrijf is geen klant" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Voorraad toewijzing notities" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "Een lijst met voorraad artikelen moet worden opgegeven" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Voorraad samenvoegen notities" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Niet overeen komende leveranciers toestaan" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "Toestaan dat voorraadartikelen met verschillende leveranciers onderdelen worden samengevoegd" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Sta onjuiste status toe" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "Toestaan dat voorraadartikelen met verschillende statuscodes worden samengevoegd" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "Er moeten ten minste twee voorraadartikelen worden opgegeven" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "Geen wijziging" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Voorraaditem primaire sleutel waarde" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "Voorraad artikel is niet op voorraad" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "Voorraad artikel is al in voorraad" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "Hoeveelheid mag niet negatief zijn" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Voorraad transactie notities" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "Samenvoegen in bestaande voorraad" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "Voeg indien mogelijk geretourneerde items samen in bestaande voorraad" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "Volgend serienummer" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "Vorig serienummer" @@ -9599,99 +9603,99 @@ msgstr "Verkooporders" msgid "Return Orders" msgstr "Retour orders" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Gebruikersnaam" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Voornaam :" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Voornaam van de gebruiker" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Achternaam" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Achternaam van de gebruiker" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "E-mailadres van de gebruiker" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Administrator " -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Is deze gebruiker een administrator " -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Is dit gebruikersaccount actief" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "Enkel een supergebruiker kan dit veld aanpassen" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "Wachtwoord" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "Wachtwoord voor de gebruiker" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "Overschrijf waarschuwing" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "Overschrijf de waarschuwing over wachtwoord regels" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "U hebt geen toestemming om gebruikers aan te maken" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Je account is aangemaakt." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Gebruik de wachtwoordreset functie om in te loggen" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Welkom bij InvenTree" diff --git a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po index d4101780da..f94fd138d1 100644 --- a/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/no/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Language: no_NO\n" @@ -104,13 +104,13 @@ msgstr "Oppgi dato" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Notater" @@ -215,7 +215,7 @@ msgstr "Angitt URL er ikke en gyldig bildefil" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "E-post" @@ -336,51 +336,51 @@ msgstr "En feil har blitt logget av serveren." msgid "Image" msgstr "Bilde" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Må være et gyldig tall" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Velg valuta ut fra tilgjengelige alternativer" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Ugyldig verdi" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Eksternt bilde" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URLtil ekstern bildefil" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Nedlasting av bilder fra ekstern URL er ikke aktivert" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Kategori" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Produksjonen må avbrytes før den kan slettes" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Forbruksvare" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Valgfritt" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Sammenstilling" @@ -687,7 +687,7 @@ msgstr "Sammenstilling" msgid "Tracked" msgstr "Spores" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -695,24 +695,24 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Tildelt" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "I bestilling" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Produksjonsordre" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Plassering" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "Produksjonsordre-referanse" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Salgsordrereferanse" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Kildeplassering" @@ -861,16 +861,16 @@ msgstr "Produksjonsstatus" msgid "Build status code" msgstr "Produksjonsstatuskode" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Batchkode" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Batchkode for denne produksjonsartikkelen" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Opprettelsesdato" @@ -964,7 +964,7 @@ msgstr "Produksjonsordre {build} er fullført" msgid "A build order has been completed" msgstr "En produksjonsordre er fullført" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "Serienumre må angis for sporbare deler" @@ -980,23 +980,23 @@ msgstr "Produksjonsartikkelen er allerede fullført" msgid "Build output does not match Build Order" msgstr "Produksjonsartikkelen samsvarer ikke med produksjonsordren" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Mengden må være større enn null" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "Kvantitet kan ikke være større enn utgangsantallet" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Produksjonsartikkel {serial} har ikke bestått alle påkrevde tester" @@ -1017,10 +1017,10 @@ msgstr "Produksjonsartikkel" msgid "Build object" msgstr "Produksjonsobjekt" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Produksjonsobjekt" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Tildelt antall ({q}) kan ikke overstige tilgjengelig lagerbeholdning ({a msgid "Stock item is over-allocated" msgstr "Lagervaren er overtildelt" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Lagervare" @@ -1099,378 +1099,378 @@ msgstr "Lagervare for montering" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Delnavn" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Produksjonsartikkel" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Produksjonsartikkel samsvarer ikke med overordnet produksjon" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Resultatdel samsvarer ikke med produksjonsordredel" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Denne produksjonsartikkelen er allerede fullført" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Denne produksjonsartikkelen er ikke fullt tildelt" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Angi antall for produksjonsartikkel" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Heltallsverdi kreves for sporbare deler" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Heltallsverdi kreves, da stykklisten inneholder sporbare deler" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Angi serienummer for produksjonsartikler" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Lagerplassering for produksjonsartikkel" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Automatisk tildeling av serienummer" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatisk tildeling av nødvendige artikler med tilsvarende serienummer" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Følgende serienummer finnes allerede eller er ugyldige" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "En liste over produksjonsartikler må oppgis" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Lagerplassering for skrotede produksjonsartikler" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Forkast tildelinger" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Forkast tildelinger fra skrotede produksjonsartikler" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Grunn for skroting av produksjonsartikler" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Plassering for ferdige produksjonsartikler" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Godta ufullstendig tildeling" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Fullfør artikler dersom lagerbeholdning ikke er fullt tildelt" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Bruk tildelt lagerbeholdning" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Bruk all lagerbeholdning som allerede er tildelt denne produksjonen" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Fjern ufullstendige artikler" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Slett alle produksjonsartikler som ikke er fullført" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Ikke tillatt" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Godta som brukt av denne produksjonsordren" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Fjern tildeling før produksjonsordren fullføres" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Overtildelt lagerbeholdning" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Hvordan vil du håndtere ekstra lagervarer tildelt produksjonsordren" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Noen lagervarer har blitt overtildelt" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Godta ikke tildelt" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Godta at lagervarer ikke er fullt tildelt til denne produksjonsordren" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "Nøvendig lagerbeholdning er ikke fullt tildelt" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Godta uferdig" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Godta at nødvendig antall fullførte produksjonsartikler ikke er nådd" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "Nødvendig produksjonsmengde er ikke nådd" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "Produksjonsordren har uferdige artikler" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Produksjonslinje" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Produksjonsartikkel" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "Produksjonsartikkel må peke til samme produksjon" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Produksjonsartikkel" -#: build/serializers.py:926 +#: build/serializers.py:933 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:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "Artikkelen må være på lager" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Tilgjengelig antall ({q}) overskredet" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "Produksjonsartikkel må spesifiseres for tildeling av sporede deler" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Produksjonsartikkel kan ikke spesifiseres for tildeling av usporede deler" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Tildelingsartikler må oppgis" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lagerplassering hvor deler skal hentes (la stå tomt for å ta fra alle plasseringer)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Eksluderer plassering" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Ekskluder lagervarer fra denne valgte plasseringen" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Utskiftbar lagerbeholdning" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Lagervarer ved flere plasseringer kan brukes om hverandre" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Erstatning-lagerbeholdning" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Tilatt tildelling av erstatningsdeler" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Valgfrie artikler" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Tildel valgfrie BOM-artikler til produksjonsordre" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "BOM-referanse" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Leverandørdel" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Tildelt antall" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "Produksjonsreferanse" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Delkategorinavn" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Sporbar" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Nedarvet" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Tillat Varianter" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "BOM-artikkel" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "I produksjon" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Ekstern lagerbeholdning" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Tilgjengelig lagerbeholdning" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Tilgjengelige erstatningsvarer" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Tilgjengelige variantvarer" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "Kansellert" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Forfalt produksjonsordre" msgid "Build order {bo} is now overdue" msgstr "Produksjonsordre {bo} er nå forfalt" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "Er lenke" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "Er fil" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "Brukeren har ikke tillatelse til å slette dette vedlegget" @@ -1550,7 +1550,7 @@ msgstr "Ingen gyldige valutakoder angitt" msgid "No plugin" msgstr "Ingen programtillegg" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Etikett for prosjektkode" @@ -1628,7 +1628,7 @@ msgstr "Bruker" msgid "Price break quantity" msgstr "Antall for prisbrudd" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Pris" @@ -1652,7 +1652,7 @@ msgstr "Navn for webhooken" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktiv" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "Ugyldig valg for parameterverdi" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Mal" @@ -2148,7 +2148,7 @@ msgstr "Mal" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2156,18 +2156,18 @@ msgstr "" msgid "Parameter Value" msgstr "Parameterverdi" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Notat" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Valgfritt notatfelt" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Filnavn" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Modelltype" @@ -2465,11 +2465,11 @@ msgstr "Modelltype" 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:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "Deler er maler som standard" msgid "Parts can be assembled from other components by default" msgstr "Deler kan settes sammen fra andre komponenter som standard" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Komponent" @@ -3988,33 +3988,33 @@ msgstr "Delen er aktiv" msgid "Manufacturer is Active" msgstr "Leverandør er aktiv" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "Leverandørdel er aktiv" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "Intern del er aktiv" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "Leverandør er aktiv" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Produsent" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Firma" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "Fraktnotater for internt bruk" msgid "Link to address information (external)" msgstr "Lenke til adresseinformasjon (ekstern)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Produsentdeler" @@ -4213,12 +4213,12 @@ msgstr "Velg del" msgid "Select manufacturer" msgstr "Velg produsent" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "MPN" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Produsentens varenummer" @@ -4242,8 +4242,8 @@ msgstr "Pakkeenhet må være mer enn null" msgid "Linked manufacturer part must reference the same base part" msgstr "Den sammenkoblede produsentdelen må referere til samme basisdel" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Leverandør" msgid "Select supplier" msgstr "Velg leverandør" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Leverandørens lagerbeholdningsenhet" @@ -4290,8 +4290,8 @@ msgstr "grunnkostnad" msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum betaling (f.eks. lageravgift)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Emballasje" @@ -4339,14 +4339,18 @@ msgstr "Standardvaluta brukt for denne leverandøren" msgid "Company Name" msgstr "Bedriftsnavn" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "På lager" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Gyldig" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "Ordre" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Intern del" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Måldato" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Ordrereferanse" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Status" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Mottatt" msgid "Number of items received" msgstr "Antall enheter mottatt" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Innkjøpspris" @@ -5211,8 +5215,8 @@ msgstr "Sjekket Av" msgid "User who checked this shipment" msgstr "Brukeren som sjekket forsendelsen" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Forsendelse" @@ -5277,7 +5281,7 @@ msgstr "Tildelingsantall kan ikke overstige tilgjengelig lagerbeholdning" msgid "Allocation quantity must be greater than zero" msgstr "Tildelingsantall må være større enn null" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "Antall må være 1 for serialisert lagervare" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Kopier parametere" @@ -5412,216 +5416,216 @@ msgstr "Linjeelementer" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Leverandørnavn" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "Ordren kan ikke kanselleres" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Tillat ordre å lukkes med ufullstendige linjeelementer" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "Ordren har ufullstendige linjeelementer" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "Ordren er ikke åpen" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Innkjøpsvaluta" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "SKU-kode" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Internt delnummer" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "Leverandørdel må angis" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "Innkjøpsordre må angis" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "Leverandør må samsvare med innkjøpsordre" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "Innkjøpsordre må samsvare med leverandør" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Ordrelinje" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Velg lagerplassering for mottatte enheter" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Angi batchkode for innkommende lagervarer" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Utløpsdato" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Angi serienummer for innkommende lagervarer" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Strekkode" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Skannet strekkode" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Strekkode allerede i bruk" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Linjeelementer må være oppgitt" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "Målplassering må angis" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "Angitte strekkodeverdier må være unike" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Fullførte forsendelser" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Valuta for salgspris" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "Ingen forsendelsesopplysninger oppgitt" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "Linjeelement er ikke knyttet til denne ordren" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "Mengden må være positiv" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Skriv inn serienummer for å tildele" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "Forsendelsen er allerede sendt" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "Forsendelsen er ikke knyttet til denne ordren" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "Ingen treff funnet for følgende serienummer" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "Returordrelinje" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "Linjeelementet samsvarer ikke med returordre" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "Linjeelementet er allerede mottatt" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Artikler kan bare mottas mot ordrer som pågår" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Valuta for linje" @@ -5837,7 +5841,7 @@ msgstr "Standard nøkkelord for deler i denne kategorien" msgid "Icon" msgstr "Ikon" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ikon (valgfritt)" @@ -5858,7 +5862,7 @@ msgstr "Standardverdi" msgid "Default Parameter Value" msgstr "Standard Parameterverdi" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Deler" @@ -5973,7 +5977,7 @@ msgstr "Del-nøkkelord for å øke synligheten i søkeresultater" msgid "Part category" msgstr "Delkategori" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,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:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Minimal lagerbeholdning" @@ -6487,355 +6491,355 @@ msgstr "Del-forhold kan ikke opprettes mellom en del og seg selv" msgid "Duplicate relationship already exists" msgstr "Duplikatforhold eksisterer allerede" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Underkategorier" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Innkjøpsvaluta for lagervaren" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Original Del" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Velg original del å duplisere" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Kopier Bilde" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Kopier bilde fra originaldel" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Kopier Stykkliste" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "Kopier stykkliste fra original del" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "Kopier parameterdata fra originaldel" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Kopier notater" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "Kopier notater fra originaldel" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:448 +#: part/serializers.py:451 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:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "Innledende lagerplassering" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "Angi initiell lagerplasering for denne delen" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "Velg leverandør (eller la stå tom for å hoppe over)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "Velg produsent (eller la stå tom for å hoppe over)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Produsentens delenummer" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "Valgt firma er ikke en gyldig leverandør" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "Valgt firma er ikke en gyldig produsent" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "Produsentdel som matcher dette MPN-et, finnes allerede" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "Leverandørdel som matcher denne SKU-en, finnes allerede" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Kategorinavn" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "Produseres" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Lagervarer" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Total lagerbeholdning" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Dupliser del" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "Kopier innledende data fra en annen del" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Innledende lagerbeholdning" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Lag en del med innledende lagermengde" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Leverandøropplysninger" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "Legg til innledende leverandørinformasjon for denne delen" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Kopier kategoriparametre" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "Kopier parametermaler fra valgt delkategori" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Eksisterende bilde" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "Filnavn for et eksisterende del-bilde" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "Bildefilen finnes ikke" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Godkjenn hele Stykklisten" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Kan Produsere" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Minstepris" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Overstyr beregnet verdi for minimumspris" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Valuta for minstepris" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Makspris" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "Overstyr beregnet verdi for maksimal pris" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Valuta for maksimal pris" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Oppdater" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "Oppdater priser for denne delen" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, 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:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "Minsteprisen kan ikke være større enn maksimal pris" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "Maksimal pris kan ikke være mindre enn minstepris" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "Velg del å kopiere BOM fra" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Fjern eksisterende data" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "Fjern eksisterende BOM-artikler før kopiering" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Inkluder arvede" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "Inkluder BOM-artikler som er arvet fra maldeler" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Hopp over ugyldige rader" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Aktiver dette alternativet for å hoppe over ugyldige rader" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Kopier erstatningsdeler" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopier erstatningsdeler når BOM-elementer dupliseres" @@ -8288,7 +8292,7 @@ msgstr "Testrapport for lagervare" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Installerte artikler" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "Utløpsdato før" msgid "Expiry date after" msgstr "Utløpsdato etter" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "Foreldet" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "Lagervarer kan ikke plasseres i strukturelle plasseringer!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "Lagervare kan ikke opprettes for virtuelle deler" @@ -8624,7 +8628,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:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "Inpakningen denne lagervaren er lagret i" @@ -8640,7 +8644,7 @@ msgstr "Er denne artikkelen montert i en annen artikkel?" msgid "Serial number for this item" msgstr "Serienummer for denne artikkelen" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Batchkode for denne lagervaren" @@ -8753,7 +8757,7 @@ msgstr "Lagervare er for tiden i produksjon" msgid "Serialized stock cannot be merged" msgstr "Serialisert lagerbeholdning kan ikke slås sammen" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "Duplisert lagervare" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "Overodnet element" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 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:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "Angi serienummer for nye artikler" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "Leverandørens delnummer" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "Utløpt" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Underordnede artikler" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "Innkjøpspris for denne lagervaren, per enhet eller forpakning" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "Angi antall lagervarer som skal serialiseres" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Antall kan ikke overstige tilgjengelig lagerbeholdning ({q})" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "Til Lagerplassering" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "Serienummer kan ikke tilordnes denne delen" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Seriernummer eksisterer allerede" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "Velg lagervare å montere" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "Antall å installere" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "Angi antallet elementer som skal installeres" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "Legg til transaksjonsnotat (valgfritt)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "Antall å installere må være minst 1" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "Lagervaren er utilgjengelig" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "Valgt del er ikke i stykklisten" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "Antall å installere må ikke overskride tilgjengelig antall" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "Lagerplassering for den avinstallerte artikkelen" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "Velg del å konvertere lagervare til" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "Valgt del er ikke et gyldig alternativ for konvertering" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Kan ikke konvertere lagerprodukt med tildelt leverandørdel" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "Lagervare statuskode" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "Velg lagervarer for å endre status" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "Ingen lagervarer valgt" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Underplasseringer" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "Delen må være salgbar" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "Artikkelen er tildelt en salgsordre" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "Artikkelen er tildelt en produksjonsordre" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "Kunde å tilordne lagervarer" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "Valgt firma er ikke en kunde" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Lagervare-tildelignsnotater" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "En liste av lagervarer må oppgis" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Notater om lagersammenslåing" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Tillat forskjellige leverandører" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "Tillat lagervarer med forskjellige leverandørdeler å slås sammen" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Tillat forskjellig status" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "Tillat lagervarer med forskjellige statuskoder å slås sammen" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "Minst to lagervarer må oppgis" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Lagervare primærnøkkel verdi" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Lager transaksjonsnotater" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "Salgsordre" msgid "Return Orders" msgstr "Returordrer" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Brukernavn" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Fornavn" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Fornavn på brukeren" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Etternavn" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Etternavn på brukeren" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "E-postadressen til brukeren" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Superbruker" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Er denne brukeren en superbruker" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Er denne brukerkontoen aktiv" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Din konto er opprettet." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Vennligst bruk funksjonen for å tilbakestille passord for å logge inn" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Velkommen til InvenTree" diff --git a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po index 73485a7b24..17489fd479 100644 --- a/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Polish\n" "Language: pl_PL\n" @@ -104,13 +104,13 @@ msgstr "Wprowadź dane" msgid "Invalid decimal value" msgstr "Niepoprawna wartość dziesiętna" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Uwagi" @@ -215,7 +215,7 @@ msgstr "Podany adres URL nie jest poprawnym plikiem obrazu" msgid "Log in to the app" msgstr "Logowanie do aplikacji" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "Adres E-Mail" @@ -336,51 +336,51 @@ msgstr "Błąd został zapisany w logach serwera." msgid "Image" msgstr "Obraz" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Numer musi być prawidłowy" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Waluta" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Wybierz walutę z dostępnych opcji" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Nieprawidłowa wartość" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Obrazek zewnętrzny" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "Adres URL zdalnego pliku obrazu" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Pobieranie obrazów ze zdalnego URL nie jest włączone" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Nie udało się pobrać obrazu ze zdalnego adresu URL" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Obejmuje warianty" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Obejmuje warianty" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Obejmuje warianty" msgid "Part" msgstr "Komponent" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Kategoria" @@ -669,16 +669,16 @@ msgstr "Wyklucz drzewo" msgid "Build must be cancelled before it can be deleted" msgstr "Kompilacja musi zostać anulowana, zanim będzie mogła zostać usunięta" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Materiał eksploatacyjny" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Opcjonalne" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Złożenie" @@ -687,7 +687,7 @@ msgstr "Złożenie" msgid "Tracked" msgstr "Śledzony" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Testowalne" @@ -695,24 +695,24 @@ msgstr "Testowalne" msgid "Order Outstanding" msgstr "Zaległe zamówienie" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Przydzielono" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "W Zamówieniu" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Zlecenie Budowy" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Lokalizacja" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "Wyjście" @@ -783,7 +783,7 @@ msgstr "Data docelowa musi być po dacie rozpoczęcia" msgid "Build Order Reference" msgstr "Odwołanie do zamówienia wykonania" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Odwołanie do zamówienia sprzedaży" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Lokalizacja źródła" @@ -861,16 +861,16 @@ msgstr "Status budowania" msgid "Build status code" msgstr "Kod statusu budowania" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Kod partii" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Kod partii dla wyjścia budowy" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Data utworzenia" @@ -964,7 +964,7 @@ 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:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "Należy podać numery seryjne dla lokalizowania części" @@ -980,23 +980,23 @@ msgstr "Budowanie wyjścia jest już ukończone" msgid "Build output does not match Build Order" msgstr "Skompilowane dane wyjściowe nie pasują do kolejności kompilacji" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Ilość musi być większa niż zero" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "Ilość nie może być większa niż ilość wyjściowa" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Wyjście budowy {serial} nie przeszło wszystkich testów" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "Zbuduj obiekt" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Zbuduj obiekt" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Przydzielona ilość ({q}) nie może przekraczać dostępnej ilości zap msgid "Stock item is over-allocated" msgstr "Pozycja magazynowa jest nadmiernie przydzielona" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Element magazynowy" @@ -1099,378 +1099,378 @@ msgstr "Docelowa lokalizacja magazynowa przedmiotu" msgid "Build Level" msgstr "Poziom budowania" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Nazwa komponentu" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Numer seryjny" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Automatycznie przydzielaj numery seryjne" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatycznie przydzielaj wymagane elementy z pasującymi numerami seryjnymi" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Poniższe numery seryjne już istnieją lub są nieprawidłowe" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Odrzuć przydziały" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Zaakceptuj niekompletną alokację" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Usuń produkcje, które nie zostały zakończone" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Niedozwolone" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Zaakceptuj jako zużyte przez zlecenie produkcji" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Nadmierny przydział zasobów" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Zaakceptuj nieprzydzielone" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Zaakceptuj, że przedmioty magazynowe nie zostały w pełni przypisane do tego zlecenia budowy" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "Wymagany stan nie został w pełni przypisany" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Akceptuj niekompletne" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "Towar musi znajdować się w magazynie" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Dostępna ilość ({q}) przekroczona" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Magazyn, z którego mają być pozyskane elementy (pozostaw puste, aby pobrać z dowolnej lokalizacji)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Wyklucz lokalizację" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Wyklucz produkty magazynowe z wybranej lokalizacji" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Magazyn wymienny" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Towary magazynowe w wielu lokalizacjach mogą być stosowane zamiennie" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Zastępczy magazyn" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Przedmiot opcjonalny" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Przydziel opcjonalne elementy BOM do zbudowania zamówienia" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "Odniesienie BOM" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "ID części BOM" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "Nazwa części BOM" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "Wersja" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Część dostawcy" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Ilość zarezerwowana" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Możliwość śledzenia" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Zezwalaj na warianty" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Element BOM" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "W produkcji" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Zew. zasoby magazynowe" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Dostępna ilość" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Dostępny magazyn zastępczy" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "Wstrzymane" msgid "Cancelled" msgstr "Anulowano" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "Jest plikiem" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "Brak wtyczki" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "Użytkownik" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Cena" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktywny" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Szablon" @@ -2148,7 +2148,7 @@ msgstr "Szablon" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Dane" @@ -2156,18 +2156,18 @@ msgstr "Dane" msgid "Parameter Value" msgstr "Wartość parametru" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Uwaga" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Nazwa pliku" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Typ modelu" @@ -2465,11 +2465,11 @@ msgstr "Typ modelu" msgid "User does not have permission to create or edit attachments for this model" msgstr "Użytkownik nie ma uprawnień do tworzenia lub edytowania załączników dla tego modelu" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "Lista wyboru jest zablokowana" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Komponent" @@ -3988,33 +3988,33 @@ msgstr "Komponent jest aktywny" msgid "Manufacturer is Active" msgstr "Producent jest aktywny" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Producent" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Firma" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "Notatki wysyłkowe do użytku wewnętrznego" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Komponent producenta" @@ -4213,12 +4213,12 @@ msgstr "Wybierz część" msgid "Select manufacturer" msgstr "Wybierz producenta" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Numer producenta komponentu" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Dostawca" msgid "Select supplier" msgstr "Wybierz dostawcę" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "koszt podstawowy" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Opakowanie" @@ -4339,14 +4339,18 @@ msgstr "Domyślna waluta używana dla tego dostawcy" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "Na stanie" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Ważny" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "Zamówienie" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Komponent wewnętrzny" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Data docelowa" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Odniesienie zamówienia" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Status" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Odebrane" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Cena zakupu" @@ -5211,8 +5215,8 @@ msgstr "Sprawdzone przez" msgid "User who checked this shipment" msgstr "Użytkownik, który sprawdził tę wysyłkę" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Przesyłka" @@ -5277,7 +5281,7 @@ msgstr "Zarezerwowana ilość nie może przekraczać ilości na stanie" msgid "Allocation quantity must be greater than zero" msgstr "Alokowana ilość musi być większa niż zero" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Kopiuj parametry" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "Zamówienie nie może zostać anulowane" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "Zlecenie zakupu musi być określone" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "Dostawca musi być zgodny ze zleceniem zakupu" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "Zlecenie zakupu musi być zgodne z dostawcą" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Data ważności" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Kod kreskowy" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5858,7 +5862,7 @@ msgstr "Wartość domyślna" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Części" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "Domyślne wygasanie" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Minimalny stan magazynowy" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Podkategorie" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Waluta zakupu tego towaru" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Kopiuj obraz" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Kopiuj BOM" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Towary" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Duplikuj część" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Usuń istniejące dane" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Pomiń nieprawidłowe wiersze" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Włącz tę opcję, aby pominąć nieprawidłowe wiersze" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Zainstalowane elementy" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "Wybierz pasującą część dostawcy dla tego towaru" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "Element nadrzędny" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "Termin minął" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Elementy podrzędne" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Numer seryjny już istnieje" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Podlokalizacje" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "Część musi być dostępna do sprzedaży" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Czy to konto użytkownika jest aktywne" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Twoje konto zostało utworzone." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Zresetuj hasło" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Witamy w InvenTree" diff --git a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po index b32ef565ca..45cc2002cc 100644 --- a/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Language: pt_PT\n" @@ -104,13 +104,13 @@ msgstr "Insira uma Data" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Anotações" @@ -215,7 +215,7 @@ msgstr "A URL fornecida não é um arquivo de imagem válido" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "Email" @@ -336,51 +336,51 @@ msgstr "Log de erro salvo pelo servidor." msgid "Image" msgstr "Imagem" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Preicsa ser um numero valido" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Moeda" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Selecione a Moeda nas opções disponíveis" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Imagens Remota" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URL do arquivo de imagem remoto" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Baixar imagens de URL remota não está habilitado" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "Peça" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Categoria" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Produção deve ser cancelada antes de ser deletada" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Consumível" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Opcional" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Montagem" @@ -687,7 +687,7 @@ msgstr "Montagem" msgid "Tracked" msgstr "Monitorado" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -695,24 +695,24 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Alocado" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "No pedido" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Ordem de Produção" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Local" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Referência do pedido de venda" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Local de Origem" @@ -861,16 +861,16 @@ msgstr "Progresso da produção" msgid "Build status code" msgstr "Código de situação da produção" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Código de Lote" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Criado em" @@ -964,7 +964,7 @@ 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:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "Números de série devem ser fornecidos para peças rastreáveis" @@ -980,23 +980,23 @@ msgstr "Saída de produção já completada" 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:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 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:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, 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" @@ -1017,10 +1017,10 @@ msgstr "Item da linha de Produção" msgid "Build object" msgstr "Objeto de produção" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Objeto de produção" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em e msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Item de estoque" @@ -1099,378 +1099,378 @@ msgstr "Destino do Item do Estoque" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Nome da Peça" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Saída da Produção" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Saída de produção não coincide com a produção progenitora" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Peça de saída não coincide com a peça da ordem de produção" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Esta saída de produção já foi concluída" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "A saída de produção não está completamente alocada" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Entre a quantidade da saída de produção" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Quantidade inteira necessária para peças rastreáveis" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Números de Série" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Digite os números de série para saídas de produção" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Local de estoque para a produção" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Alocar Números de Série Automaticamente" -#: build/serializers.py:378 +#: build/serializers.py:385 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:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Os seguintes números de série já existem ou são inválidos" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Uma lista de saídas de produção deve ser fornecida" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Local de estoque para saídas recicladas" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Descartar alocações" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Descartar quaisquer alocações de estoque para saídas sucateadas" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Motivo para sucatear saída(s) de produção" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Local para saídas de produção concluídas" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Aceitar Alocação Incompleta" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Concluir saídas se o estoque não tiver sido totalmente alocado" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Consumir Estoque Alocado" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Consumir qualquer estoque que já tenha sido alocado para esta produção" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Remover Saídas Incompletas" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Excluir quaisquer saídas de produção que não tenham sido completadas" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Não permitido" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Aceitar conforme consumido por esta ordem de produção" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Desatribua antes de completar este pedido de produção" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Estoque sobrealocado" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Como deseja manejar itens de estoque extras atribuídos ao pedido de produção" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Alguns itens de estoque foram sobrealocados" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Aceitar não alocados" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta produção" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "Estoque obrigatório não foi totalmente alocado" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Aceitar Incompleto" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Aceitar que o número requerido de saídas de produção não foi concluído" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "Quantidade de produção requerida não foi concluída" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "Pedido de produção tem saídas incompletas" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Linha de produção" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Saída da Produção" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "Saída de produção deve indicar a mesma produção" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Item da linha de produção" -#: build/serializers.py:926 +#: build/serializers.py:933 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:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "Item deve estar em estoque" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantidade disponível ({q}) excedida" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "Saída de produção deve ser definida para alocação de peças rastreadas" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Saída de produção deve ser definida para alocação de peças não rastreadas" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Alocação do Item precisa ser fornecida" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Local de estoque onde peças serão extraídas (deixar em branco para qualquer local)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Local não incluso" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Não incluir itens de estoque deste local" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Estoque permutável" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Itens de estoque em múltiplos locais pode ser permutável" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Substituir Estoque" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Permitir alocação de peças substitutas" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Itens opcionais" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Alocar itens LDM opcionais para o pedido de produção" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Fornecedor da Peça" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Quantidade Alocada" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Rastreável" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Permitir variações" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Item LDM" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "Em Produção" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Estoque Disponível" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "Cancelado" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Pedido de produção vencido" msgid "Build order {bo} is now overdue" msgstr "Pedido de produção {bo} está atrasada" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "É uma Ligação" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "É um arquivo" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "O Utilizador não tem permissão para remover este anexo" @@ -1550,7 +1550,7 @@ msgstr "Nenhum código de moeda válido foi fornecido" msgid "No plugin" msgstr "Sem extensão" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "Usuario" msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Preço" @@ -1652,7 +1652,7 @@ msgstr "Nome para este webhook" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Ativo" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "Escolha inválida para valor do parâmetro" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Modelo" @@ -2148,7 +2148,7 @@ msgstr "Modelo" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Dados" @@ -2156,18 +2156,18 @@ msgstr "Dados" msgid "Parameter Value" msgstr "Valor do Parâmetro" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Anotação" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Campo opcional de notas" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Nome do arquivo" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "Peças são modelos por padrão" msgid "Parts can be assembled from other components by default" msgstr "Peças podem ser montadas a partir de outros componentes por padrão" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Componente" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Fabricante" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Empresa" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "Notas de envio para uso interno" msgid "Link to address information (external)" msgstr "Link para as informações do endereço (externo)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Peça do Fabricante" @@ -4213,12 +4213,12 @@ msgstr "Selecionar peça" msgid "Select manufacturer" msgstr "Selecionar fabricante" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "NPF" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Número de Peça do Fabricante" @@ -4242,8 +4242,8 @@ msgstr "Unidades de pacote deve ser maior do que zero" 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:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Fornecedor" msgid "Select supplier" msgstr "Selecione o fornecedor" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Unidade de reserva de estoque fornecedor" @@ -4290,8 +4290,8 @@ msgstr "preço base" msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Embalagem" @@ -4339,14 +4339,18 @@ msgstr "Moeda padrão utilizada para este fornecedor" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "Em Estoque" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Válido" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "Pedido" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Peça Interna" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Data alvo" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Referência do pedido" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Situação" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Recebido" msgid "Number of items received" msgstr "Número de itens recebidos" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Preço de Compra" @@ -5211,8 +5215,8 @@ msgstr "Verificado por" msgid "User who checked this shipment" msgstr "Usuário que verificou esta remessa" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Remessa" @@ -5277,7 +5281,7 @@ msgstr "A quantidade de alocação não pode exceder a quantidade em estoque" msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "Quantidade deve ser 1 para item de estoque serializado" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Copiar Parâmetros" @@ -5412,216 +5416,216 @@ msgstr "Itens de linha" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Nome do Fornecedor" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "Pedido não pode ser cancelado" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Permitir que o pedido seja fechado com itens de linha incompletos" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "O pedido tem itens da linha incompletos" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "O pedido não está aberto" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Moeda de preço de compra" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "Código (SKU)" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Numero interno do produto" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "A peça do fornecedor deve ser especificada" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "O pedido de compra deve ser especificado" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "O fornecedor deve corresponder o pedido de compra" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "Pedido de compra deve corresponder ao fornecedor" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Itens de linha" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Selecione o local de destino para os itens recebidos" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Digite o código do lote para itens de estoque recebidos" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Data de validade" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Digite o número de série para itens de estoque recebidos" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Código de barras lido" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Código de barras já em uso" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Itens de linha deve ser providenciados" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "Loca de destino deve ser especificado" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "Código de barras fornecido deve ser único" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Envios concluídos" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Moeda de preço de venda" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "Nenhum detalhe da remessa fornecido" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "Item de linha não está associado a este pedido" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "Quantidade deve ser positiva" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Digite números de série para alocar" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "O pedido já foi enviado" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "O envio não está associado a este pedido" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "Nenhuma correspondência encontrada para os seguintes números de série" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "Devolver item do pedido" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "Item do pedido não bate com o pedido de devolução" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "Item do pedido já foi recebido" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Itens só podem ser recebidos de pedidos em processamento" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Tipo de moeda para o item do pedido" @@ -5837,7 +5841,7 @@ msgstr "Palavras-chave padrão para peças nesta categoria" msgid "Icon" msgstr "Ícone" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ícone (opcional)" @@ -5858,7 +5862,7 @@ msgstr "Valor Padrão" msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Peças" @@ -5973,7 +5977,7 @@ msgstr "Palavras-chave para melhorar a visibilidade nos resultados da pesquisa" msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,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:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Estoque Mínimo" @@ -6487,355 +6491,355 @@ msgstr "Relacionamento da peça não pode ser criada com ela mesma" msgid "Duplicate relationship already exists" msgstr "Relação duplicada já existe" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "Categoria de peça pai" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Sub-categorias" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Moeda de compra deste item de estoque" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Peça Original" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Selecione a peça original para duplicar" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Copiar imagem" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Copiar LDM" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "Copiar lista de materiais da peça original" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "Copiar dados do parâmetro da peça original" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Copiar Notas" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "Copiar imagem da peça original" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Quantidade Inicial de Estoque" -#: part/serializers.py:448 +#: part/serializers.py:451 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:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "Local Inicial do Estoque" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "Especifique o local do estoque inicial para esta Peça" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "Selecione o fornecedor (ou deixe em branco para pular)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "Selecione fabricante (ou deixe em branco para pular)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Número de Peça do Fabricante" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "A empresa selecionada não é um fornecedor válido" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "A empresa selecionada não é um fabricante válido" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "A peça do fabricante que corresponde a essa MPN já existe" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "A peça do fornecedor que corresponde a essa SKU já existe" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Nome da Categoria" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "Produzindo" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Itens de Estoque" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Estoque Total" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Peça duplicada" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "Copiar dados iniciais de outra peça" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Estoque inicial" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Criar peça com a quantidade inicial de estoque" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Informações do Fornecedor" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "Adicionar informação inicial de fornecedor para esta peça" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Copiar Parâmetros da Categoria" -#: part/serializers.py:966 +#: part/serializers.py:993 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:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Imagem Existente" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "Nome de arquivo de uma imagem de peça existente" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "A imagem não existe" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Validar a Lista de Materiais completa" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Pode Produzir" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Preço Mínimo" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Sobrepor valor calculado para preço mínimo" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Moeda do preço mínimo" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Preço Máximo" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "Sobrepor valor calculado para preço máximo" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Moeda do preço máximo" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Atualizar" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "Atualizar preços desta peça" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, 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:1528 +#: part/serializers.py:1560 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:1531 +#: part/serializers.py:1563 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:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "Selecionar peça para copiar a LDM" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Remover Dado Existente" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "Remova itens LDM existentes antes de copiar" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Incluir Herdados" -#: part/serializers.py:1942 +#: part/serializers.py:2006 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:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Pular Linhas inválidas" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Habilitar esta opção para pular linhas inválidas" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Copiar Peças Substitutas" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "Copiar peças de substitutas quando duplicar itens de LDM" @@ -8288,7 +8292,7 @@ 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:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Itens instalados" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "Data de validade antes" msgid "Expiry date after" msgstr "Data de validade depois" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "Inativo" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "Os itens de estoque não podem estar localizados em locais de estoque estrutural!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "Item de estoque não pode ser criado para peças virtuais" @@ -8624,7 +8628,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:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "Embalagem deste item de estoque está armazenado em" @@ -8640,7 +8644,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:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Código do lote para este item de estoque" @@ -8753,7 +8757,7 @@ msgstr "Item no estoque está em produção no momento" msgid "Serialized stock cannot be merged" msgstr "Itens de série não podem ser mesclados" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "Item de estoque duplicado" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "Item Primário" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 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:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "Inserir número de série para novos itens" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "Expirado" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Itens Filhos" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 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:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "Insira o número de itens de estoque para serializar" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, 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:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "Local de destino do estoque" -#: stock/serializers.py:746 +#: stock/serializers.py:760 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:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Números de série já existem" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "Selecione o item de estoque para instalar" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "Quantidade a Instalar" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "Insira a quantidade de itens a instalar" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "Adicionar nota de transação (opcional)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "A quantidade para instalar deve ser pelo menos 1" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "Item de estoque indisponível" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "Peça selecionada não está na Lista de Materiais" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "Quantidade a instalar não deve exceder a quantidade disponível" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "Local de destino para o item desinstalado" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "Selecione peça para converter o item de estoque em" -#: stock/serializers.py:955 +#: stock/serializers.py:969 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:972 +#: stock/serializers.py:986 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:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "Código de estado do item estoque" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "Selecionar itens de estoque para mudar estados" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "Nenhum item de estoque selecionado" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Sub-locais" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "Parte deve ser comercializável" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "Item é alocado para um pedido de venda" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "Item está alocado a um pedido de produção" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "Cliente para atribuir itens de estoque" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "A empresa selecionada não é um cliente" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Nodas atribuídas a estoque" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "Uma lista de item de estoque deve ser providenciada" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Notas de fusão de estoque" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Permitir fornecedores divergentes" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 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:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Permitir estado incompatível" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 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:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "Ao menos dois itens de estoque devem ser providenciados" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Valor da chave primária do Item Estoque" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Notas da transação de estoque" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "Pedidos de vendas" msgid "Return Orders" msgstr "Pedidos de Devolução" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Nome de usuário" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Primeiro Nome" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Sobrenome" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Sua conta foi criada." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Por favor, use a função de redefinir senha para acessar" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Bem-vindo(a) ao InvenTree" 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 302ee4688c..2d84ccc249 100644 --- a/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/pt_BR/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Language: pt_BR\n" @@ -104,13 +104,13 @@ msgstr "Informe a data" msgid "Invalid decimal value" msgstr "Valor decimal inválido" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Observações" @@ -215,7 +215,7 @@ msgstr "A URL fornecida não é um arquivo de imagem válido" msgid "Log in to the app" msgstr "Entrar no aplicativo" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "E-mail" @@ -336,51 +336,51 @@ msgstr "Um erro foi registrado pelo servidor." msgid "Image" msgstr "Imagem" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Deve ser um número válido" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Moeda" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Selecione a moeda entre as opções disponíveis" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "Este campo não pode ser nulo." -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Valor inválido" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Imagem remota" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URL do arquivo da imagem remota" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Baixar imagens de URL remota não está habilitado" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Falha ao baixar a imagem da URL remota" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "Formato de conteúdo inválido" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "Tipo de conteúdo não encontrado" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Incluir Variáveis" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Incluir Variáveis" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Incluir Variáveis" msgid "Part" msgstr "Parte" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Categoria" @@ -669,16 +669,16 @@ msgstr "Excluir árvore" msgid "Build must be cancelled before it can be deleted" msgstr "A compilação deve ser cancelada antes de ser excluída" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Consumível" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Opcional" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Montagem" @@ -687,7 +687,7 @@ msgstr "Montagem" msgid "Tracked" msgstr "Rastreado" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Testável" @@ -695,24 +695,24 @@ msgstr "Testável" msgid "Order Outstanding" msgstr "Pedido pendente" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Alocado" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "Em pedido" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Ordem da compilação" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Local" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "Saída" @@ -783,7 +783,7 @@ msgstr "A data limite deve ser posterior à data inicial" msgid "Build Order Reference" msgstr "Referência do pedido de produção" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Referência do pedido de venda" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Local de Origem" @@ -861,16 +861,16 @@ msgstr "Progresso da produção" msgid "Build status code" msgstr "Código de situação da produção" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Código do lote" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Código do lote para esta saída de produção" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Criado em" @@ -964,7 +964,7 @@ 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:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "Números de série devem ser fornecidos para peças rastreáveis" @@ -980,23 +980,23 @@ msgstr "Saída da produção já está concluída" msgid "Build output does not match Build Order" msgstr "Saída da produção não corresponde à Ordem de Produção" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Quantidade deve ser maior que zero" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "A quantidade não pode ser maior que a quantidade de saída" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "A saída da produção não passou em todos os testes necessários" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "A saída da produção {serial} não passou em todos os testes necessários" @@ -1017,10 +1017,10 @@ msgstr "Item da ordem de produção" msgid "Build object" msgstr "Compilar objeto" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Compilar objeto" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Quantidade alocada ({q}) não deve exceder a quantidade disponível em e msgid "Stock item is over-allocated" msgstr "O item do estoque está sobre-alocado" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Item de Estoque" @@ -1099,378 +1099,378 @@ msgstr "Destino do Item do Estoque" msgid "Build Level" msgstr "Nível de produção" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Nome da Peça" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Saída da Produção" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Saída de produção não coincide com a produção progenitora" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Peça de saída não coincide com a peça da ordem de produção" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Esta saída de produção já foi concluída" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Esta saída de produção não está totalmente alocada" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Insira a quantidade para construir a saída de produção" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Quantidade inteira necessária para peças rastreáveis" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Quantidade inteira necessária, pois a lista de materiais contém peças rastreáveis" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Números de Série" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Digite os números de série para saídas de produção" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Local de estoque para saídas de produção" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Alocar Números de Série Automaticamente" -#: build/serializers.py:378 +#: build/serializers.py:385 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:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Os seguintes números de série já existem ou são inválidos" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Uma lista de saídas de produção deve ser fornecida" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Local de estoque para saídas eliminadas" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Descartar alocações" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Descartar quaisquer alocações de estoque para saídas eliminadas" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Motivo para eliminar saída(s) de produção" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Local para saídas de produção concluídas" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Aceitar Alocação Incompleta" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Concluir saídas se o estoque não tiver sido totalmente alocado" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Consumir Estoque Alocado" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Consumir qualquer estoque que já tenha sido alocado para esta produção" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Remover Saídas Incompletas" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Excluir quaisquer saídas de produção que não tenham sido completadas" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Não permitido" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Aceitar conforme consumido por esta ordem de produção" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Desatribua antes de completar esta ordem de produção" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Como deseja manejar itens de estoque extras atribuídos ao pedido de produção" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Alguns itens de estoque foram sobrecarregados" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Aceitar não alocados" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Aceitar que os itens de estoque não foram totalmente alocados para esta encomenda" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "Estoque obrigatório não foi totalmente alocado" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Aceitar Incompleto" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Aceitar que o número requerido de saídas de produção não foi concluído" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "Quantidade de produção requerida não foi concluída" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "A ordem de produção tem ordens de produção secundárias abertas" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "Ordem de produção deve estar no estado de produção" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "Ordem de produção tem saídas incompletas" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Linha de Produção" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Saída da Produção" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "Saída de produção deve indicar a mesma produção" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Item da linha de produção" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part deve apontar para a mesma parte que a ordem de produção" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "O item deve estar em estoque" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Quantidade disponível ({q}) excedida" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "Saída de produção deve ser definida para alocação de peças rastreadas" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Saída de produção não pode ser definida para alocação de peças não rastreadas" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Alocação de itens precisam ser fornecidos" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Localização do estoque onde as peças devem ser originadas (deixe em branco a partir de qualquer local)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Excluir Local" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Excluir itens de estoque desta localização selecionada" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Estoque Intercambiável" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Itens de estoque em múltiplos locais podem ser intercambiáveis" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Estoque Substituto" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Permitir alocação de peças substitutas" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Itens opcionais" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Alocar itens BOM opcionais para ordem de produção" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "Referência do BOM" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "ID da parte BOM" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "Nome da peça BOM" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "Produção" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Fornecedor da Peça" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Quantidade Alocada" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "Referência da produção" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Nome da Categoria" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Rastreável" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Herdado" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Permitir variantes" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Item BOM" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "Em Produção" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "Agendado para produção" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Estoque Externo" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Estoque Disponível" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Estoque Substituto Disponível" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Estoque de Variantes Disponível" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "Em Espera" msgid "Cancelled" msgstr "Cancelado" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Ordem de produção vencido" msgid "Build order {bo} is now overdue" msgstr "Ordem de produção {bo} está atrasada" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "É um link" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "É um arquivo" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "O usuário não tem permissão para deletar esses anexos" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "O usuário não tem permissão para deletar esse anexo" @@ -1550,7 +1550,7 @@ msgstr "Nenhum código de moeda válido fornecido" msgid "No plugin" msgstr "Sem extensão" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Rótulo de código do projeto" @@ -1628,7 +1628,7 @@ msgstr "Usuário" msgid "Price break quantity" msgstr "Quantidade de Parcelamentos" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Preço" @@ -1652,7 +1652,7 @@ msgstr "Nome para este webhook" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Ativo" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Modelo" @@ -2148,7 +2148,7 @@ msgstr "Modelo" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Dados" @@ -2156,18 +2156,18 @@ msgstr "Dados" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Anotação" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Campo opcional de notas" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Nome do arquivo" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Categoria de Modelo" @@ -2465,11 +2465,11 @@ msgstr "Categoria de Modelo" msgid "User does not have permission to create or edit attachments for this model" msgstr "Usuário não tem permissão para criar ou editar anexos para este modelo" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "Lista de seleção bloqueada" @@ -2859,8 +2859,8 @@ msgstr "Peças são modelos por padrão" msgid "Parts can be assembled from other components by default" msgstr "Peças podem ser montadas a partir de outros componentes por padrão" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Componente" @@ -3988,33 +3988,33 @@ msgstr "A peça está ativa" msgid "Manufacturer is Active" msgstr "Fabricante está ativo" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "A peça do Fornecedor está ativa" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "A peça interna está ativa" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "O fornecedor está Ativo" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Fabricante" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Empresa" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "Tem estoque" @@ -4195,7 +4195,7 @@ msgstr "Notas de envio para uso interno" msgid "Link to address information (external)" msgstr "Link para as informações do endereço (externo)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Fabricante da peça" @@ -4213,12 +4213,12 @@ msgstr "Selecionar peça" msgid "Select manufacturer" msgstr "Selecionar fabricante" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "NPF" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Número de Peça do Fabricante" @@ -4242,8 +4242,8 @@ msgstr "Unidades de pacote devem ser maior que zero" 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:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Fornecedor" msgid "Select supplier" msgstr "Selecione o fornecedor" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Unidade de reserva de estoque fornecedor" @@ -4290,8 +4290,8 @@ msgstr "preço base" msgid "Minimum charge (e.g. stocking fee)" msgstr "Taxa mínima (ex.: taxa de estoque)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Embalagem" @@ -4339,14 +4339,18 @@ msgstr "Moeda padrão utilizada para este fornecedor" msgid "Company Name" msgstr "Nome da Empresa" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "Em Estoque" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "Ocorreu um erro ao exportar os dados" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "A coluna já está mapeada a um campo de banco de dados" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "O campo já está mapeado para uma coluna de dados" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "Mapeamento de coluna deve ser ligado a uma sessão de importação válida" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "A coluna não existe no arquivo de dados" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "O campo não existe no modelo de destino" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "O campo selecionado é somente leitura" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "Importar Sessão" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Campo" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Coluna" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "Índice de fileira" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "Dados da linha original" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "Erros" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Válido" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "Pedido" msgid "Order Complete" msgstr "Pedido Completo" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Peça Interna" @@ -4918,7 +4922,7 @@ msgstr "Data inicial" msgid "Scheduled start date for this order" msgstr "Data de início programada para esta encomenda" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Data Prevista" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Referência do pedido" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Situação" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Recebido" msgid "Number of items received" msgstr "Número de itens recebidos" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Preço de Compra" @@ -5211,8 +5215,8 @@ msgstr "Verificado por" msgid "User who checked this shipment" msgstr "Usuário que verificou este envio" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Envio" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "Quantidade alocada deve ser maior que zero" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "Duplicar Pedido" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "ID do pedido inválido" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "O pedido não pode ser cancelado" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "Mesclar Itens" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "Código (SKU)" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Número Interno da Peça" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "Nome Interno da Peça" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Código de barras" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Código de barras lido" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Código de barras já está em uso" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "Itens Alocados" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "Os seguintes números de série não estão disponíveis" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "Palavras-chave padrão para peças nesta categoria" msgid "Icon" msgstr "Ícone" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ícone (opcional)" @@ -5858,7 +5862,7 @@ msgstr "Valor Padrão" msgid "Default Parameter Value" msgstr "Valor Padrão do Parâmetro" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Peças" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "Categoria da Peça" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,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:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Estoque Mínimo" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Itens de Estoque" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Estoque Total" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Estoque Inicial" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Atualizar" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Ignorar Linhas Inválidas" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Habilite essa opção para ignorar linhas inválidas" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Nome de usuário" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Primeiro Nome" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Primeiro nome do usuário" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Sobrenome" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Sobrenome do usuário" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Endereço de e-mail do usuário" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Superusuário" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "Somente um superusuário pode ajustar este campo" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "Senha" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "Senha do usuário" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "Você não tem permissão para criar usuários" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Sua conta foi criada." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Bem-vindo(a) ao InvenTree" diff --git a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po index 1b2875155d..ffc3bb6e8d 100644 --- a/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ro/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Language: ro_RO\n" @@ -104,13 +104,13 @@ msgstr "Enter Date" msgid "Invalid decimal value" msgstr "Valoare zecimală nevalidă" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Notițe" @@ -215,7 +215,7 @@ msgstr "URL-ul furnizat nu este un fișier imagine valid" msgid "Log in to the app" msgstr "Conectați-vă la aplicație" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "E-mail" @@ -336,51 +336,51 @@ msgstr "A fost înregistrată o eroare de către server." msgid "Image" msgstr "Imagine" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Trebuie sa fie un număr valid" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Monedă" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Selectați moneda din opțiunile disponibile" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "Acest câmp nu poate fi null." -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Valoare invalidă" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Imagini de la distanţă" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URL-ul imaginii la distanţă" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Descărcarea imaginilor din URL-ul de la distanţă nu este activată" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Descărcarea imaginii din URL-ul de la distanță a eșuat" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "Format de tip de conținut nevalid" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "Tipul de conținut nu a fost găsit" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "Tipul de conținut nu se potrivește cu mixin necesar clasei" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "İnclude variante" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "İnclude variante" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "İnclude variante" msgid "Part" msgstr "Piesă" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Categorie" @@ -669,16 +669,16 @@ msgstr "Exclude arbore" msgid "Build must be cancelled before it can be deleted" msgstr "Construcția trebuie anulată înainte de a putea fi ștearsă" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Consumabile" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Opţional" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Asamblate" @@ -687,7 +687,7 @@ msgstr "Asamblate" msgid "Tracked" msgstr "Urmarit" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Testabilă" @@ -695,24 +695,24 @@ msgstr "Testabilă" msgid "Order Outstanding" msgstr "Comandă restantă" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Alocate" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "Consumat" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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 "Disponibil" -#: build/api.py:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "Pe comandă" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Comenzi de Producție" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Locatie" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "Ieșire" @@ -783,7 +783,7 @@ msgstr "Data țintă trebuie să fie după data de început" msgid "Build Order Reference" msgstr "Referință comandă producție" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Referință comandă de vânzare" msgid "Sales Order to which this build is allocated" msgstr "Comanda de vânzare pentru care această construcție este alocată" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Locație sursă" @@ -861,16 +861,16 @@ msgstr "Stare producției" msgid "Build status code" msgstr "Cod status producție" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Cod lot" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Cod de lot pentru această producție" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Data creării" @@ -964,7 +964,7 @@ msgstr "A fost finalizată o comandă de producție {build}" msgid "A build order has been completed" msgstr "A fost finalizată o comandă de producție" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "Numerele de serie trebuie furnizate pentru piesele urmăribile" @@ -980,23 +980,23 @@ msgstr "Construcția este deja finalizată" msgid "Build output does not match Build Order" msgstr "Construcția nu se potrivește cu Comanda de producție" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Cantitatea trebuie să fie mai mare decât zero" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "Cantitatea nu poate fi mai mare decât cantitatea de ieşire" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "Construcția nu a trecut toate testele necesare" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Construcția {serial} nu a trecut toate testele necesare" @@ -1017,10 +1017,10 @@ msgstr "Element linie comandă de producție" msgid "Build object" msgstr "Construiește obiectul" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Construiește obiectul" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Cantitate alocata ({q}) nu trebuie sa depaseasca cantitatea disponibila msgid "Stock item is over-allocated" msgstr "Articolul din stoc este supra alocat" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Articol Stoc" @@ -1099,378 +1099,378 @@ msgstr "Destinație articol in stoc" msgid "Build Level" msgstr "Nivel de construcție" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Numele Piesei" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Rezultat de construcție" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Producția nu corespunde cu producția-mamă" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Componenta de ieșire nu corespunde componentei din comanda de producție" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Această producție este deja finalizată" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Această producție nu este alocată integral" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Introduceți cantitatea pentru producția de ieșire" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Număr de serie" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Nu este permisă" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Acceptați nealocat" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Acceptați Incomplet" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Linie de construcție" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Rezultatul construirii" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Locația stocului de unde vor fi procurate piesele (lăsați necompletat pentru a prelua piesele din orice locație)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "Nume piesă BOM" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "Producție" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Nume Categorie Piesă" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "În Producţie" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Stoc extern" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Stoc disponibil" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Stoc de înlocuire disponibil" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "Suspendat" msgid "Cancelled" msgstr "Anulat" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Comandă de producție restantă" msgid "Build order {bo} is now overdue" msgstr "Comanda de producție {bo} este în întârziere" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Etichetă Cod Proiect" @@ -1628,7 +1628,7 @@ msgstr "Utilizator" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Preț" @@ -1652,7 +1652,7 @@ msgstr "Nume pentru acest webhook" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Activ" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "" @@ -2148,7 +2148,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2156,18 +2156,18 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Nume fișier" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Introduceți codul lotului pentru articolele din stoc primite" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "Versiunea" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "Descrierea piesei" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Codul lotului pentru acest element din stoc" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Nume utilizator" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Prenumele" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Prenumele utilizatorului" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "Parolă" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "Parolă pentru utilizator" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "Suprascrie avertismentul cu privire la regulile parolei" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Vă rugăm să utilizați funcția de resetare a parolei pentru a vă autentifica" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "" diff --git a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po index 01bae25974..5c1e2fec73 100644 --- a/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/ru/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Russian\n" "Language: ru_RU\n" @@ -104,13 +104,13 @@ msgstr "Введите дату" msgid "Invalid decimal value" msgstr "Не верное десятичное значение" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Заметки" @@ -215,7 +215,7 @@ msgstr "Предоставленный URL не является допусти msgid "Log in to the app" msgstr "Войти в приложение" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "Электронная почта" @@ -336,51 +336,51 @@ msgstr "Сервер зарегистрировал ошибку." msgid "Image" msgstr "Изображение" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Должно быть действительным номером" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Валюта" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Выберите валюту из доступных вариантов" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "Это поле не может быть пустым." -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Неверное значение" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Удаленное изображение" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "ССЫЛКА файла изображения на удаленном сервере" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Загрузка изображений с удаленного URL-адреса не включена" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Не удалось загрузить изображение из URL адреса" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "Неверный формат типа содержимого" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "Тип содержимого не найден" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "Тип содержимого не соответствует требуемому классу миксина" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Включая варианты" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Включая варианты" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Включая варианты" msgid "Part" msgstr "Деталь" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Категория" @@ -669,16 +669,16 @@ msgstr "Исключить дерево" msgid "Build must be cancelled before it can be deleted" msgstr "Заказ на производство должен быть отменен перед удалением" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Расходник" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Необязательно" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Сборная деталь" @@ -687,7 +687,7 @@ msgstr "Сборная деталь" msgid "Tracked" msgstr "Отслеживается" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Тестируемая" @@ -695,24 +695,24 @@ msgstr "Тестируемая" msgid "Order Outstanding" msgstr "Невыполненные заказы" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Зарезервировано" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "Потреблено" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "В заказе" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Заказ на производство" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Расположение" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "Выход" @@ -783,7 +783,7 @@ msgstr "Целевая дата должна быть после даты нач msgid "Build Order Reference" msgstr "Ссылка на заказ на производство" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Ссылка на заказ" msgid "Sales Order to which this build is allocated" msgstr "Заказ на продажу, которому принадлежит этот заказ на производство" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Место хранения комплектующих" @@ -861,16 +861,16 @@ msgstr "Статус заказа на производство" msgid "Build status code" msgstr "Код статуса заказа на производство" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Код партии" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Код партии для продукции" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Дата создания" @@ -964,7 +964,7 @@ msgstr "Заказ на производство {build} был завершен msgid "A build order has been completed" msgstr "Заказ на производство был завершен" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "Для отслеживаемых деталей должны быть указаны серийные номера" @@ -980,23 +980,23 @@ msgstr "Продукция уже произведена" msgid "Build output does not match Build Order" msgstr "Продукция не совпадает с заказом на производство" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Количество должно быть больше нуля" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "Количество не может быть больше количества продукции" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "Выход сборки не прошёл все необходимые тесты" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Сборка {serial} не прошла все необходимые тесты" @@ -1017,10 +1017,10 @@ msgstr "Номер позиции для производства" msgid "Build object" msgstr "Объект производства" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Объект производства" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Резервируемое количество ({q}) не должно msgid "Stock item is over-allocated" msgstr "Складская позиция перераспределена" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Складская позиция" @@ -1099,378 +1099,378 @@ msgstr "Целевая складская позиция" msgid "Build Level" msgstr "Уровень сборки" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Наименование детали" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Выход Продукции" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Продукция не совпадает с родительским заказом на производство" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Продукция не соответствует детали заказа на производство" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Эта продукция уже помечена как завершенная" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Сырье для этой продукции не полностью зарезервировано" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Введите количество продукции" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Для отслеживаемых деталей должно быть указано целочисленное количество" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Требуется целое количество, так как материал содержит отслеживаемые детали" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Серийные номера" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Введите серийные номера для продукции" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Местоположение склада для результата сборки" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Автоматически выделить серийные номера" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "Автоматически зарезервировать необходимые элементы с соответствующими серийными номерами" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Следующие серийные номера уже существуют или недействительны" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Необходимо представить список выхода деталей" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Место хранения для списанной продукции" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Отменить резервирование" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Отменить все резервы запасов для списанной продукции" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Причина списания продукции" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Место хранения для завершенной продукции" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Разрешить неполное резервирование" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Завершить продукцию, даже если остатки не были полностью зарезервированы" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Израсходовать зарезервированные остатки" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Израсходовать складские позиции, которые были зарезервированы для этой продукции" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Удалить незавершенную продукцию" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Удалить всю незавершенную продукцию" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Запрещено" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Принять как поглощенный этим заказом на производство" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Отменить резерв, до завершения заказа на производство" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Перераспределенные запасы" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Как вы хотите обработать дополнительные складские позиции, назначенные для заказа на производство" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Некоторые складские позиции были перераспределены" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Разрешить не полное резервирование" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Подтвердите, что складские позиции не были полностью зарезервированы для этого заказа на производство" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "Необходимые запасы не были полностью зарезервированы" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Разрешить незавершенные производимые детали" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Допустить, что требуемое кол-во продукции не завершено" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "Требуемое количество деталей не было произведено" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "Производственный заказ имеет незавершённые дочерние заказы" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "Заказ на производство должен быть в стадии выполнения" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "Заказ на производство имеет незавершенную продукцию" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Позиция для производства" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Выход продукции" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "Продукция должна указывать на тот же производство" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Позиция для производства" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part должна указывать на ту же часть, что и заказ на производство" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "Элемент должен быть в наличии" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Превышено доступное количество ({q})" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "Продукция должна быть указан для резервирования отслеживаемых частей" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Продукция не может быть указана для резервирования не отслеживаемых частей" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Необходимо указать резервируемые элементы" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Место хранения, где будут зарезервированы детали (оставьте пустым, чтобы забрать их из любого места)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Исключить место хранения" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Исключить складские позиции из этого выбранного места хранения" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Обменный остаток" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Складские позиции в нескольких местах могут использоваться на взаимозаменяемой основе" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Заменить остатки" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Разрешить резервирование замещающих деталей" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Необязательные элементы" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Зарезервировать необязательные позиции BOM для заказа на производство" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "Ссылка на спецификацию (BOM)" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "ID детали в спецификации (BOM)" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "Название детали в спецификации (BOM)" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "Установить в" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "Сборка" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Деталь поставщика" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Зарезервированное количество" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "Ссылка на сборку" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Название категории детали" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Отслеживание" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Унаследованные" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Есть варианты" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Позиция BOM" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "В производстве" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "Запланировано к сборке" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Внешний склад" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Доступный запас" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Доступный запас заменителей" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Доступный запас вариантов" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "Потреблённое количество превышает выделенное количество" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "Дополнительные примечания по расходу запаса" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "Элемент сборки должен ссылаться на правильный заказ на сборку" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "Дублирование выделения элемента сборки" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "Строка сборки должна ссылаться на правильный заказ на сборку" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "Дублирование выделения строки сборки" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "Должен быть указан хотя бы один элемент или строка" @@ -1494,7 +1494,7 @@ msgstr "Отложен" msgid "Cancelled" msgstr "Отменён" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Просроченный заказ сборки" msgid "Build order {bo} is now overdue" msgstr "Заказ на производство {bo} просрочен" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "Ссылка" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "Файл" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "У пользователя нет прав для удаления этих вложений" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "У пользователя нет прав на удаление этого вложения" @@ -1550,7 +1550,7 @@ msgstr "Не указаны действительные коды валют" msgid "No plugin" msgstr "Нет плагина" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Название кода проекта" @@ -1628,7 +1628,7 @@ msgstr "Пользователь" msgid "Price break quantity" msgstr "Скидка распространяется на заданное количество" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Цена" @@ -1652,7 +1652,7 @@ msgstr "Имя для этого веб-хука" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Активный" @@ -2126,7 +2126,7 @@ msgstr "Параметры" msgid "Invalid choice for parameter value" msgstr "Недопустимое значение параметра" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "Указан неверный тип модели для параметра" @@ -2140,7 +2140,7 @@ msgstr "ID целевой модели для этого параметра" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Шаблон" @@ -2148,7 +2148,7 @@ msgstr "Шаблон" msgid "Parameter template" msgstr "Шаблон параметра" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Данные" @@ -2156,18 +2156,18 @@ msgstr "Данные" msgid "Parameter Value" msgstr "Значение параметра" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Заметка" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Опциональное поле записей" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Имя файла" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Тип модели" @@ -2465,11 +2465,11 @@ msgstr "Тип модели" msgid "User does not have permission to create or edit attachments for this model" msgstr "Пользователь не имеет разрешения создавать или редактировать вложения для этой модели" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "У пользователя нет разрешения на создание или редактирование параметров для этой модели" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "Список выбора заблокирован" @@ -2859,8 +2859,8 @@ msgstr "По умолчанию детали являются шаблонами msgid "Parts can be assembled from other components by default" msgstr "По умолчанию детали могут быть собраны из других компонентов" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Компонент" @@ -3988,33 +3988,33 @@ msgstr "Деталь активна" msgid "Manufacturer is Active" msgstr "Производитель активен" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "Поставляемая деталь активна" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "Внутренняя деталь активна" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "Поставщик активен" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Производитель" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Компания" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "Есть запас" @@ -4195,7 +4195,7 @@ msgstr "Записи отправления для внутреннего пол msgid "Link to address information (external)" msgstr "Ссылка на адресную информацию (внешняя)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Производитель детали" @@ -4213,12 +4213,12 @@ msgstr "Выберите деталь" msgid "Select manufacturer" msgstr "Выберите производителя" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "Артикул производителя" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Артикул производителя" @@ -4242,8 +4242,8 @@ msgstr "Единицы упаковки должны быть больше ну msgid "Linked manufacturer part must reference the same base part" msgstr "Связанная деталь производителя должна ссылаться на ту же базовую деталь" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Поставщик" msgid "Select supplier" msgstr "Выберите поставщика" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Артикул поставщика" @@ -4290,8 +4290,8 @@ msgstr "базовая стоимость" msgid "Minimum charge (e.g. stocking fee)" msgstr "Минимальная плата (например, складская)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Упаковка" @@ -4339,14 +4339,18 @@ msgstr "Валюта по умолчанию для этого поставщи msgid "Company Name" msgstr "Название компании" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "На складе" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "Ценовые пороги" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "Произошла ошибка при экспорте данных" @@ -4451,67 +4455,67 @@ msgstr "ID" msgid "Existing database identifier for the record" msgstr "Существующий идентификатор записи в базе данных" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "Колонка уже сопоставлена с полем базы данных" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "Поле уже сопоставлено с колонкой данных" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "Сопоставление столбцов должно быть связано с корректным сеансом импорта" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "Колонка не существует в файле данных" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "Поле не существует в целевой модели" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "Выбранное поле доступно только для чтения" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "Сессия импорта" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Поле" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Колонка" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "Номер строки" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "Исходные данные строки" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "Ошибки" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Корректный" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "Для обновления существующих записей требуется ID." -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "Запись с указанным ID не найдена" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "Указан недействительный формат ID" @@ -4821,7 +4825,7 @@ msgstr "Заказ" msgid "Order Complete" msgstr "Заказ выполнен" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Внутренняя деталь" @@ -4918,7 +4922,7 @@ msgstr "Начальная дата" msgid "Scheduled start date for this order" msgstr "Запланированная начальная дата этого заказа" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Целевая дата" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Ссылка на заказ" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Статус" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Получено" msgid "Number of items received" msgstr "Количество полученных предметов" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Закупочная цена" @@ -5211,8 +5215,8 @@ msgstr "Проверн" msgid "User who checked this shipment" msgstr "Пользователь, проверивший эту отгрузку" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Отправление" @@ -5277,7 +5281,7 @@ msgstr "Количество распределения не может прев msgid "Allocation quantity must be greater than zero" msgstr "Резервируемое количество должно быть больше нуля" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "Количество должно быть 1 для сериализированных складских позиций" @@ -5393,7 +5397,7 @@ msgstr "Копировать дополнительные позиции" msgid "Copy extra line items from the original order" msgstr "Копировать дополнительные позиции из исходного заказа" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Скопировать параметры" @@ -5412,216 +5416,216 @@ msgstr "Позиции" msgid "Completed Lines" msgstr "Завершённые позиции" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "Дублировать заказ" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "Указать параметры для дублирования этого заказа" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "Недействительный ID заказа" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Имя поставщика" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "Заказ не может быть отменён" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Разрешить закрывать заказ с незавершёнными позициями" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "В заказе есть незавершённые позиции" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "Заказ не открыт" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "Автоматическая цена" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Автоматически рассчитывать закупочную цену на основе данных детали поставщика" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Валюта заказа на закупку" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "Объединять элементы" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "Объединять в одну позицию элементы, у которых одинаковая деталь, место хранения и целевая дата" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "Артикул" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Внутренний артикул детали" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "Внутреннее название детали" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "Необходимо указать поставляемую деталь" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "Необходимо указать заказ на закупку" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "Поставщик должен соответствовать заказу на закупку" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "Заказ на закупку должен соответствовать поставщику" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Позиция" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Выберите место назначения для полученных элементов" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Введите код партии для поступающих складских позиций" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Истекает" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "Введите дату истечения срока годности для поступающих складских единиц" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Введите серийные номера для входящих складских позиций" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "Переопределить информацию об упаковке для поступающих складских единиц" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "Дополнительная заметка для поступающих складских единиц" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Штрих-код" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Сканированный штрих-код" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Штрихкод уже используется" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Необходимо предоставить позиции" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "Необходимо указать место назначения" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "Предоставленные значения штрихкодов должны быть уникальными" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "Отгрузки" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Выполненные отгрузки" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "Зарезервированные позиции" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Валюта цены продажи" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "Выделенные элементы" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "Информация об отгрузке не предоставлена" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "Позиция не связана с этим заказом" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "Количество должно быть положительным" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Введите серийные номера для резервирования" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "Отгрузка уже отправлена" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "Отгрузка не связана с этим заказом" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "Совпадений для следующих серийных номеров не найдено" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "Следующие серийные номера недоступны" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "Позиция заказа на возврат" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "Позиция не соответствует заказу на возврат" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "Позиция уже получена" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Предметы могут быть получены только по заказам, которые находятся в процессе выполнения" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "Количество для возврата" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Валюта цены позиции" @@ -5837,7 +5841,7 @@ msgstr "Ключевые слова по умолчанию для детале msgid "Icon" msgstr "Значок" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Значок (необязательно)" @@ -5858,7 +5862,7 @@ msgstr "Значение по умолчанию" msgid "Default Parameter Value" msgstr "Значение параметра по умолчанию" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Детали" @@ -5973,7 +5977,7 @@ msgstr "Ключевые слова для улучшения видимости msgid "Part category" msgstr "Категория" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "Внутренний артикул" @@ -6006,7 +6010,7 @@ msgstr "Срок действия по умолчанию" msgid "Expiry time (in days) for stock items of this part" msgstr "Срок годности (в днях) для складских позиций этой детали" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Минимальный запас" @@ -6487,355 +6491,355 @@ msgstr "Нельзя создать отношение детали с само msgid "Duplicate relationship already exists" msgstr "Дублирующее отношение уже существует" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "Родительская категория" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "Родительская категория деталей" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Подкатегории" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "Результаты" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "Количество результатов, зарегистрированных по этому шаблону" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Валюта закупки складской позиции" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "Файл не является изображением" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Оригинальная деталь" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Выберите исходную деталь для копирования" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Копировать Изображение" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Копировать изображение из исходной детали" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Скопировать BOM" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "Копировать спецификацию из исходной детали" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "Копировать данные параметров из исходной детали" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Копировать Записи" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "Скопировать записи из оригинальной детали" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "Копировать тесты" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "Копировать шаблоны тестов из исходной детали" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Начальное количество на складе" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Задайте начальное количество этой детали на складе. Если количество равно 0, складская позиция не будет добавлена." -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "Начальное местоположение запаса" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "Укажите начальное местоположение запаса для этой детали" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "Выберите поставщика (или оставьте поле пустым, чтобы пропустить)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Артикул производителя" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "Выбранная компания не является допустимым поставщиком" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "Выбранная компания не является допустимым производителем" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "Деталь производителя с данным артикулом уже существует" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "Деталь поставщика с данным артикулом уже существует" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Название категории" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "Производится" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "Количество этой детали, находящееся в производстве" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Оставшееся количество этой детали, запланированное к сборке" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Складские позиции" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "Ревизии" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Общий запас" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "Нераспределённый запас" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "Запас вариантов" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Дублировать деталь" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "Копировать начальные данные из другой детали" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Начальный запас" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Создавать деталь с начальным количеством на складе" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Информация о поставщике" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "Добавить начальную информацию о поставщике для этой детали" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Копировать параметры категории" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "Копировать шаблоны параметров из выбранной категории деталей" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Существующее изображение" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "Имя файла существующего изображения детали" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "Файл изображения не существует" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Проверить всю спецификацию" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Можно произвести" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "Требуется для заказов на сборку" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "Выделено для заказов на сборку" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "Требуется для заказов на продажу" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "Выделено для заказов на продажу" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "Внутренний артикул детали" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "Описание детали" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "Выберите деталь (и любые её варианты) для которой сгенерировать информацию об инвентаризации" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "Выберите категорию (и любые её подкатегории) для которой сгенерировать информацию об инвентаризации" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "Выберите склад, чтобы включить все детали в наличии в указанном складе (включая подразделы)" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "Создать записи инвентаризации" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "Сохранить записи инвентаризации для выбранных деталей" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "Создать отчет" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "Создать отчёт инвентаризации для выбранных деталей" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Минимальная цена" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Переопределить рассчитанное значение минимальной цены" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Валюта минимальной цены" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Максимальная цена" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "Переопределить рассчитанное значение максимальной цены" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Валюта максимальной цены" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Обновить" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "Обновить цены для этой детали" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Не удалось конвертировать из предоставленных валют в {default_currency}" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "Минимальная цена не должна превышать максимальную цену" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "Максимальная цена не должна быть меньше минимальной" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "Выберите родительскую сборку" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "Выберите деталь, которая является компонентом" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "Выберите деталь, из которой копировать спецификацию" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Удалить существующие данные" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "Удалить существующие пункты спецификации перед копированием" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Включая наследуемые" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "Включать пункты спецификации, унаследованные от шаблонных деталей" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Пропустить некорректные строки" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Включите эту опцию, чтобы пропускать недопустимые строки" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Копировать детали-заменители" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "Копировать детали-заменители при дублировании пунктов спецификации" @@ -8288,7 +8292,7 @@ msgstr "Отчет тестирования складской позиции" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Установленные элементы" @@ -8361,7 +8365,7 @@ msgstr "Фильтровать по местоположениям верхне msgid "Include sub-locations in filtered results" msgstr "Включать подместоположения в отфильтрованные результаты" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "Основной склад" @@ -8445,7 +8449,7 @@ msgstr "Дата истечения до" msgid "Expiry date after" msgstr "Дата истечения после" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "Залежалый" @@ -8579,7 +8583,7 @@ msgstr "Необходимо указать деталь" msgid "Stock items cannot be located into structural stock locations!" msgstr "Складские позиции не могут находиться в структурных местах хранения!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "Складская позиция не может быть создана для виртуальных деталей" @@ -8624,7 +8628,7 @@ msgstr "Выберите соответствующего поставщика msgid "Where is this stock item located?" msgstr "Где находится эта складская позиция?" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "Упаковка этой складской позиции хранится в" @@ -8640,7 +8644,7 @@ msgstr "Установлен ли этот элемент в другой эле msgid "Serial number for this item" msgstr "Серийный номер для этого элемента" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Код партии для этой складской позиции" @@ -8753,7 +8757,7 @@ msgstr "Складская позиция в производстве" msgid "Serialized stock cannot be merged" msgstr "Серийные запасы нельзя объединить" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "Дублирующие складские элементы" @@ -8877,7 +8881,7 @@ msgstr "Выберите деталь для генерации серийног msgid "Quantity of serial numbers to generate" msgstr "Количество серийных номеров для генерации" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "Шаблон теста для этого результата" @@ -8901,222 +8905,222 @@ msgstr "Родительский элемент" msgid "Parent stock item" msgstr "Родительский складской элемент" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "Использовать размер упаковки при добавлении: заданное количество — это количество упаковок" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "Использовать размер упаковки" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "Введите серийные номера для новых элементов" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "Номер детали поставщика" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "Просрочен" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Дочерние элементы" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "Отслеживание элементов" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "Закупочная цена для этой складской позиции, за единицу или за упаковку" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "Введите количество складских позиций для сериализации" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "Складской элемент не предоставлен" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "Количество не должно превышать доступный запас ({q})" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "Целевое место хранения" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "Серийные номера не могут присваиваться данной детали" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Серийные номера уже существуют" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "Выберите складскую позицию для установки" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "Количество для установки" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "Введите количество элементов для установки" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "Добавить запись к транзакции (необязательно)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "Количество для установки должно быть не менее 1" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "Складская позиция недоступна" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "Выбранная деталь отсутствует в спецификации" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "Количество для установки не должно превышать доступное количество" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "Место назначения для демонтированного элемента" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "Выберите деталь в которую будет преобразована складская позиция" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "Выбранная деталь не является допустимым вариантом для преобразования" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Невозможно преобразовать складскую позицию с назначенной деталью поставщика" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "Статус складской позиции" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "Выберите складские позиции для изменения статуса" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "Не выбрано ни одной складской позиции" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Места хранения" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "Родительское местоположение запаса" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "Деталь должна быть продаваемой" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "Элемент распределён в заказ на продажу" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "Элемент зарезервирован для заказа на производство" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "Покупатель для назначения складских позиций" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "Выбранная компания не является покупателем" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Записи о назначенных запасах" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "Необходимо предоставить список складских позиций" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Заметки об объединении складских позиций" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Разрешить несоответствие поставщиков" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "Разрешить объединение складских позиций с различными поставщиками" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Разрешить несоответствие статусов" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "Разрешить объединение складских позиций с различными статусами" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "Необходимо предоставить как минимум 2 складские позиции" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "Нет изменений" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Первичный ключ складского элемента" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "Складской элемент отсутствует на складе" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "Складской элемент уже на складе" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "Количество не должно быть отрицательным" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Заметки об изменении склада" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "Объединить с существующим запасом" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "Объединять возвращённые элементы с существующими складскими элементами, если возможно" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "Следующий серийный номер" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "Предыдущий серийный номер" @@ -9598,99 +9602,99 @@ msgstr "Заказы на продажу" msgid "Return Orders" msgstr "Заказы на возврат" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Логин" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Имя" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Имя пользователя" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Фамилия" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Фамилия пользователя" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Адрес электронной почты пользователя" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Суперпользователь" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Это пользователь является суперпользователем" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Активна эта учетная запись" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "Только суперпользователь может изменить это поле" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "Пароль" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "Пароль пользователя" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "Игнорировать предупреждение" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "Игнорировать предупреждение о правилах пароля" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "У вас нет разрешения на создание пользователей" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Ваша учётная запись была успешно создана." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Пожалуйста, используйте функцию сброса пароля для входа" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Добро пожаловать в InvenTree" diff --git a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po index 7434729026..4046cce3ab 100644 --- a/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Language: sk_SK\n" @@ -104,13 +104,13 @@ msgstr "" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "" @@ -215,7 +215,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "" @@ -336,51 +336,51 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +687,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -695,24 +695,24 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "" @@ -861,16 +861,16 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "" @@ -964,7 +964,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "" @@ -1099,378 +1099,378 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "" @@ -2148,7 +2148,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2156,18 +2156,18 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "" diff --git a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po index 00b3c3b084..f360e1829a 100644 --- a/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sl/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Language: sl_SI\n" @@ -104,13 +104,13 @@ msgstr "Vnesi datum" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Zapiski" @@ -215,7 +215,7 @@ msgstr "Podani URL ni veljavna slikovna datoteka" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "E-pošta" @@ -336,51 +336,51 @@ msgstr "Zaznana napaka na strežniku." msgid "Image" msgstr "" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Mora biti veljavna številka" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Izberite valuto med razpoložljivimi možnostmi" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Neveljavna vrednost" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Oddaljena slika" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "Povezava do oddaljene slike" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Prenos slik iz oddaljene povezave ni omogočen" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "Del" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Izgradnja mora biti najprej preklicana, nato je lahko izbrisana" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Neobvezno" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Montaža" @@ -687,7 +687,7 @@ msgstr "Montaža" msgid "Tracked" msgstr "Sledi" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Testno" @@ -695,24 +695,24 @@ msgstr "Testno" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Dodeljeno" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Nalog izgradnje" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "Referenca naloga izgradnje" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Referenca dobavnica" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Lokacija vira" @@ -861,16 +861,16 @@ msgstr "Status izgradnje" msgid "Build status code" msgstr "Koda statusa izgradnje" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Številka serije" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Številka serije za to izgradnjo" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Datum ustvarjenja" @@ -964,7 +964,7 @@ msgstr "Nalog izgradnje {build} je dokončan" msgid "A build order has been completed" msgstr "Nalog izgradnej dokončan" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "Igradnja je že dokončana" msgid "Build output does not match Build Order" msgstr "Izgradnja se ne ujema s nalogom izdelave" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Prestavljena zaloga ({q}) ne sme presegati zaloge ({a})" msgid "Stock item is over-allocated" msgstr "Preveč zaloge je prestavljene" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Postavka zaloge" @@ -1099,378 +1099,378 @@ msgstr "Destinacija postavke zaloge" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Izgradnja" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Izgradnja se ne ujema z nadrejeno izgradnjo" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Izhodni del se ne ujema s naročilom sestava" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Ta sestava je že zaključena" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "Preklicano" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "Uporabnik" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktivno" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "" @@ -2148,7 +2148,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2156,18 +2156,18 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Ime datoteke" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "Prestavljena količina mora biti večja od 0" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Uporabniško ime" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Ime" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Ime uporabnika" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Priimek" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Priimek uporabnika" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Email uporabnika" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Superuporabnik" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Ali je ta uporabnik superuporabnik" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Ali je ta račun aktiven" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Vaš račun je bil ustvarjen." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Za prijavo uporabite funkcijo ponastavitve gesla" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Dobrodošli v InvenTree" diff --git a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po index d2b1ffc79e..7bea5a31c2 100644 --- a/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Language: sr_CS\n" @@ -104,13 +104,13 @@ msgstr "Unesite datum" msgid "Invalid decimal value" msgstr "Neispravna decimalna vrednost" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Napomene" @@ -215,7 +215,7 @@ msgstr "Navedeni URL nije važeća slikovna datoteka" msgid "Log in to the app" msgstr "Prijavljivanje na aplikaciju" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "E-Pošta" @@ -336,51 +336,51 @@ msgstr "Server je zabležio grešku." msgid "Image" msgstr "Slika" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Mora biti važeći broj" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Odaberite valutu među dostupnim opcijama" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Nevažeća vrednost" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Udaljena slika" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URL udaljene slike" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Preuzimanje slika s udaljenog URL-a nije omogućeno" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Neuspešno preuzimanje slike sa udaljene URL" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Uključi varijante" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Uključi varijante" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Uključi varijante" msgid "Part" msgstr "Deo" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Kategorija" @@ -669,16 +669,16 @@ msgstr "Ne uključuj stablo" msgid "Build must be cancelled before it can be deleted" msgstr "Proizvod mora biti poništen pre nego što se izbriše" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Potrošni materijal" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Opciono" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Sklapanje" @@ -687,7 +687,7 @@ msgstr "Sklapanje" msgid "Tracked" msgstr "Praćeno" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Proverljivo" @@ -695,24 +695,24 @@ msgstr "Proverljivo" msgid "Order Outstanding" msgstr "Neizmirena narudžbina" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Alocirano" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "Po narudžbini" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Nalog za izradu" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Lokacija" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "Reference naloga za pravljenje" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Referenca naloga za prodaju" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Lokacija izvora" @@ -861,16 +861,16 @@ msgstr "Status izgradnje" msgid "Build status code" msgstr "Kod statusa izgradnje" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Kod serije" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Kod izgradnje za ovaj izlaz" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "datum kreiranja" @@ -964,7 +964,7 @@ msgstr "Nalog za izgradnju {build} je kompletiran" msgid "A build order has been completed" msgstr "Nalog za izgradnju je kompletiran" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "Za delove koji mogu da se prate moraju se dostaviri serijski brojevi" @@ -980,23 +980,23 @@ msgstr "Izlaz izgradnje je već kompletiran" msgid "Build output does not match Build Order" msgstr "Izlaz izgradnje se ne slaže sa Nalogom za izgradnju" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Količina mora biti veća od nule" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 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:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "Izlaz izgradnje {serial} nije zadovoljio zahtevane testove" @@ -1017,10 +1017,10 @@ msgstr "Stavka porudžbine naloga za izgradnju" msgid "Build object" msgstr "Objekat izgradnje" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Objekat izgradnje" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Alocirana količina ({q}) ne sme da bude veća od količine dostupnih za msgid "Stock item is over-allocated" msgstr "Stavka zaliha je prealocirana" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Stavka zaliha" @@ -1099,378 +1099,378 @@ msgstr "Stavka zaliha odredišta" msgid "Build Level" msgstr "Nivo izgradnje" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Ime dela" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Izlaz izgradnje" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Izlaz izgradnje se ne slaže sa nadređenom izgradnjom" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Izlazni deo se ne slaže sa delom Naloga za Izgradnju" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Ovaj izlaz izgradnje je već kompletiran" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Ovaj izlaz izgradnje nije u potpunosti alociran" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Unesi količinu za izlaz izgradnje" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Brojčana količina potrebna za delove koji mogu da se prate" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Potrebna je brojčana količina, jer opis materijala sadrži delove koji se mogu pratiti" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Serijski brojevi" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Unesi serijske brojeve za izlaz izgradnje" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Lokacija zaliha za izlaz izgradnje" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Automatski alociraj serijske brojeve" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "Automatski alociraj tražene stavke sa odgovarajućim serijskim brojevima" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Sledeći serijski brojevi već postoje ili su neispravni" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Lista izlaza izgradnje se mora obezbediti" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Lokacija zaliha za otpisane izlaze" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Odbaci alokacije" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Odbaci bilo kojiu alokaciju zaliha za otpisane izlaze" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Razlog za otpisane izlaz(e) izgradnje" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Lokacija za završene izlaze izgradnje" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Prihvati nekompletirane Alokacije" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "kompletiraj izlaze ako zalihe nisu u potpunosti alocirane" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Troši alocirane zalihe" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Troši bilo koje zalihe koje su već alocirane za ovu izgradnju" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Ukloni nekompletirane izlaze" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Izbriši svei izlaze izgradnje koji nisu kompletirani" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Nije dozvoljeno" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Prihvati kao potrošeno od strane ovog naloga za izgradnju" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Izmesti bre završetka ovog naloga za izgradnju" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Sveukupne izdvojene zalihe" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Šta želite da radite sa viškom stavki u zalihama koje su dodeljene nalogu za izgradnju?" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Neke stavke zaliha su prealocirane" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Prihvati nealocirano" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Prihvati da stavke zaliha nisu u potpunosti alocirane za ovaj nalog za izgradnju" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "Tražene zalihe nisu u potpunosti alocirane" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Prihvati nekompletirano" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Prihvati da je traženi broj izlaza izgradnje nekompletan" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "Traženi broj izgradnji nije kompletan" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "Nalog za izgradnju ima otvoren potčinjene naloge za izgradnju" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "Nalog za izgradnju mora biti u stanju produkcije" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "Nalog za izgradnju ima nekompletne izlaze" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Porudžbina izgradnje" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Izlaz izgradnje" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "Izlaz izgradnje mora da referencira istu izgradnju" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Stavka porudžbine za izradu" -#: build/serializers.py:926 +#: build/serializers.py:933 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:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "Stavka mora da bude u zalihama" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Dostupna količina ({q}) premašena" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "Izlaz izgradnje mora da određen za alokaciju praćenih delova" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Izlaz izgradnje ne može biti određen za alokaciju nepraćenih delova" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Stavke alociranja se moraju odrediti" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Lokacija zaliha koje će da budu izvor delova (ostavi prazno ukoliko uzimate sa bilo koje lokacije)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Isključi lokaciju" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Isključi stavke zaliha za ovu selektovanu lokaciju" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Zamenljive zalihe" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Stavke zaliha koje su na različitim lokacijama se mogu međusobno menjati" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Zamenske zalihe" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Dozvoli alociranje delova koji su zamenski" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Opcionalne stavke" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Alociraj opcione BOM stavke na nalog za izgradnju" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "Referenca BOM" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "BOM ID dela" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "BOM ime dela" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Deo dobavljača" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Alocirana količina" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "Referenca izgradnje" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Ime kategorije dela" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Može da se prati" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Nasleđen" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Dozvoli varijante" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "BOM stavka" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "U proizvodnji" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Spoljašnje zalihe" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Dostupne zalihe" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Dostupne zamenske zalihe" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Dostupne varijante zaliha" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "Na čekanju" msgid "Cancelled" msgstr "Otkazano" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Prekoračeni nalog za izgradnju" msgid "Build order {bo} is now overdue" msgstr "Nalog za izgradnju {bo} je sada prekoračen" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "je link" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "je datoteka" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "Korisnik nema potrebne dozvole da bi izbrisao ove atačmente" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "Korisnik nema dozvolu da izbriše ovaj atačment" @@ -1550,7 +1550,7 @@ msgstr "Nisu obezbeđeni ispravni kodovi valuta" msgid "No plugin" msgstr "Nema dodataka" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Naziv koda projekta" @@ -1628,7 +1628,7 @@ msgstr "Korisnik" msgid "Price break quantity" msgstr "Prelomna količina cene" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Cena" @@ -1652,7 +1652,7 @@ msgstr "Ime ovog zahteva za izmenu stranice" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktivan" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "Nije validan izbor za vrednost parametra" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Šablon" @@ -2148,7 +2148,7 @@ msgstr "Šablon" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Podaci" @@ -2156,18 +2156,18 @@ msgstr "Podaci" msgid "Parameter Value" msgstr "Vrednost parametra" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Beleška" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Opciona beleška" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Ime datoteke" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Tip modela" @@ -2465,11 +2465,11 @@ msgstr "Tip modela" 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:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "Lista odabira je zaključana" @@ -2859,8 +2859,8 @@ msgstr "Podrazumevano je da su delovi šabloni" msgid "Parts can be assembled from other components by default" msgstr "Podrazumevano je da se delovi mogu sastavljati od drugih komponenti" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Komponenta" @@ -3988,33 +3988,33 @@ msgstr "Deo je aktivan" msgid "Manufacturer is Active" msgstr "Proizvođač je aktivan" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "Deo dobavljača je aktivan" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "Interni deo je aktivan" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "Dobavljač je aktivan" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Proizvođač" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Kompanija" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "Ima zalihe" @@ -4195,7 +4195,7 @@ msgstr "Beleške o isporuci za internu upotrebu" msgid "Link to address information (external)" msgstr "Link za adresne informacije (eksterni)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Deo proizvođača" @@ -4213,12 +4213,12 @@ msgstr "Izaberi deo" msgid "Select manufacturer" msgstr "Izaberi proizvođača" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "Broj dela proizvođača" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Broj dela proizvođača" @@ -4242,8 +4242,8 @@ msgstr "Jedinice pakovanja moraju biti veće od nule" msgid "Linked manufacturer part must reference the same base part" msgstr "Povezani delovi dobavljača moraju referencirati isti osnovni deo" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Dobavljač" msgid "Select supplier" msgstr "Izaberi dobavljača" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Jedinica za držanje dobavljačevih zaliha" @@ -4290,8 +4290,8 @@ msgstr "osnovni trošak" msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimalna naplata (npr. taksa za slaganje)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Pakovanje" @@ -4339,14 +4339,18 @@ msgstr "Podrazumevana valuta koja se koristi za ovog dobavljača" msgid "Company Name" msgstr "Naziv kompanije" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "Na zalihama" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "Kolona je već mapirana u polje u bazi podataka" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "Polje je već mapirano u kolonu sa podacima" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "Mapiranje kolona mora biti linkovano da bi se uvezla važeća sesija" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "Kolona ne postoji u fajlu sa podacima" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "Polje ne postoji u ciljnom modelu" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "Izabrano polje je samo za čitanje" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "Uvezi sesiju" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Polje" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Kolona" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "Indeks vrsta" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "Originalni podaci vrste" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "Greške" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Važeće" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "Nalog" msgid "Order Complete" msgstr "Nalog završen" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Interni deo" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Ciljani datum" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Referenca naloga" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Status" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Primljeno" msgid "Number of items received" msgstr "Broj primljenih stavki" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Kupovna cena" @@ -5211,8 +5215,8 @@ msgstr "Provereno od strane" msgid "User who checked this shipment" msgstr "Korisnik koji je proverio ovu isporuku" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Isporuka" @@ -5277,7 +5281,7 @@ msgstr "Alocirana količina ne sme da pređe količinu zaliha" msgid "Allocation quantity must be greater than zero" msgstr "Količina alokacije mora da bude veća od nule" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "Količina mora biti 1 za serijalizovane stavke sa zaliha" @@ -5393,7 +5397,7 @@ msgstr "Kopiraj dodatne porudžbine" msgid "Copy extra line items from the original order" msgstr "Kopiraj dodatne stavke porudžbine sa originalnog naloga" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Kopiraj parametre" @@ -5412,216 +5416,216 @@ msgstr "Stavke porudbžine" msgid "Completed Lines" msgstr "Završene porudbžine" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "Dupliraj nalog" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "Odredi opcije za dupliranje ovog naloga" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "Nevažeći ID naloga" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Naziv dobavljača" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "Nalog ne može biti otkazan" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Dozvoli da nalog bude zatvoren sa nepotpunim porudžbinama" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "Nalog ima nepotpune stavke porudžbine" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "Nalog nije otvoren" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "Automatske cene" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Automatski izračunaj kupovnu cenu na osnovu podataka o delovima dobavljača" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Valuta kupovne cene" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "Spoj stavke" -#: order/serializers.py:691 +#: order/serializers.py:728 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:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "Jedinica za praćenje zaliha" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Interni broj dela" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "Interni naziv dela" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "Deo dobavljača mora biti određen" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "Nalog za kupovinu mora biti određen" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "Dobavljač mora da se poklapa sa nalogom za kupovinu" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "Nalog za kupovinu mora da se poklapa sa dobavljačem" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Stavka porudbžine" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Izaberi odredišnu lokaciju za primljene stavke" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Unesi šifru ture za nadolazeće stavke sa zaliha" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Datum isteka" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Unesi serijske brojeve za nadolazeće stavke sa zaliha" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "Promeni informacije o pakovanju za nadolazeće stavke sa zaliha" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "Dodatne beleške za nadolazeće stavke sa zaliha" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Bar kod" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Skeniran bar kod" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Bar kod je već u upotrebi" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Stavke porudžbine moraju biti dostavljene" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "Odredišna lokacija mora biti određena" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "Pružene vrednosti bar kodova moraju biti jedinstvene" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "Isporuke" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Završene isporuke" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Valuta prodajne cene" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "Alocirane stavke" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "Nisu dostavljeni detalji isporuke" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "Stavka porudžbine nije asocirana sa ovim nalogom" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "Količina mora biti pozitivna" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Unesi serijske brojeve za alokaciju" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "Isporuka je već isporučena" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "Isporuka nije povezana sa ovim nalogom" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "Nema pronađenih poklapanja za sledeće serijske brojeve" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "Sledeći serijski brojevi su nedostupni" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "Stavka porudžbine naloga za vraćanje" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "Stavka porudžbine se ne poklapa sa nalogom za vraćanje" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "Stavka porudžbine je već primljena" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Stavke se mogu primiti samo na osnovu naloga koji su u toku" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "Količina za vraćanje" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Valuta cene porudžbine" @@ -5837,7 +5841,7 @@ msgstr "Podrazumevane ključne reči za delove ove kategorije" msgid "Icon" msgstr "Ikonica" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ikonica (opciono)" @@ -5858,7 +5862,7 @@ msgstr "Podrazumevana vrednost" msgid "Default Parameter Value" msgstr "Podrazumevana vrednost parametra" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Delovi" @@ -5973,7 +5977,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:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "Interni broj dela" @@ -6006,7 +6010,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:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Minimalne zalihe" @@ -6487,355 +6491,355 @@ msgstr "Relacija između delova ne može biti kreirana između jednog istog dela msgid "Duplicate relationship already exists" msgstr "Identična veza već postoji" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "Nadređena kategorija" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "Nadređena kategorija dela" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Podkategorije" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "Rezultati" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "Broj rezultata napravljenih na osnovu ovog šablona" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Valuta kupovine za ovu stavku sa zaliha" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Originalni deo" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Izaberi originalni deo za duplikaciju" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Kopiraj sliku" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Kopiraj sliku sa originalnog dela" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Kopiraj spisak materijala" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "Kopiraj spisak materijala sa originalnog dela" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "Kopiraj parametarske podatke sa originalnog dela" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Kopiraj beleške" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "Kopiraj beleške sa originalnog dela" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Inicijalna količina zaliha" -#: part/serializers.py:448 +#: part/serializers.py:451 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:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "Inicijalna lokacija zaliha" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "Odredi inicijalnu lokaciju zaliha za ovaj deo" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "Izaberi dobavljača (ostavi prazno za preskakanje)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "Izaberi proizvođača (ostavi prazno za preskakanje)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Broj dela proizvođača" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "Izabrana kompanija nije validan dobavljač" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "Izabrana kompanija nije validan proizvođač" -#: part/serializers.py:526 +#: part/serializers.py:529 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:533 +#: part/serializers.py:536 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:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Naziv kategorije" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "Izrađivanje" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Stavke sa zaliha" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "Revizije" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Ukupne zalihe" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "Nealocirane zalihe" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "Varijante zaliha" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Dupliraj deo" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "Kopiraj inicijalne podatke od drugog dela" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Početne zalihe" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Kreiraj deo sa početnom količinom zaliha" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Informacije o dobavljaču" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "Dodaj inicijalne informacije o dobavljaču za ovaj deo" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Kopiraj parametre kategorije" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "Kopiraj parametarske šablone sa izabrane kategorije dela" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Postojeća slika" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "Ime fajla postojeće slike dela" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "Fajl sa slikom ne postoji" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Validiraj ceo spisak materijala" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Može se izgraditi" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Minimalna cena" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Izmeni izračunatu vrednost za minimalnu cenu" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Minimalna valuta cene" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Maksimalna cena" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "Izmeni izračunatu vrednost maksimalne cene" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Maksimalna valuta cene" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Ažuriraj" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "Ažuriraj cene za ovaj deo" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, 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:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "Minimalna cena ne sme biti veća od maksimalne cene" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "Maksimalna cena ne sme biti manja od minimalne cene" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "Izaberi nadređeni sklop" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "Izaberi komponentu dela" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "Izaberi deo sa kog će se kopirati spisak materijala" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Ukloni postojeće podatke" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "Ukloni postojeće stavke sa spiska materijala pre kopiranja" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Uključi nasleđeno" -#: part/serializers.py:1942 +#: part/serializers.py:2006 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:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Preskoči nevažeće vrste" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Omogući ovu opciju za preskakanje nevažećih vrsta" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Kopiraj zamenske delove" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "Kopiraj zamenske delove prilikom duplikacije stavki sa spiska materijala" @@ -8288,7 +8292,7 @@ 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:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Instalirane stavke" @@ -8361,7 +8365,7 @@ msgstr "Filtriraj po nadređenim lokacijama" msgid "Include sub-locations in filtered results" msgstr "Uključi podlokacije u filtriranim rezultatima" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "Nadređena lokacija" @@ -8445,7 +8449,7 @@ msgstr "Datum isteka pre" msgid "Expiry date after" msgstr "Datum isteka nakon" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "Zastarelo" @@ -8579,7 +8583,7 @@ msgstr "Deo mora biti određen" msgid "Stock items cannot be located into structural stock locations!" msgstr "Stavka sa zaliha ne može biti locirana u strukturnim lokacijama zaliha!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "Stavka sa zaliha ne može biti kreirana za virtuelne delove" @@ -8624,7 +8628,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:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "Pakovanje u kom je ova stavka sa zaliha" @@ -8640,7 +8644,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:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Šifra ture za ovu stavku sa zaliha" @@ -8753,7 +8757,7 @@ msgstr "Stavka sa zaliha je trenutno u produkciji" msgid "Serialized stock cannot be merged" msgstr "Serijalizovane zalihe se ne mogu spojiti" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "Dupliraj stavke sa zaliha" @@ -8877,7 +8881,7 @@ msgstr "Izaberi deo za koji će se generisati serijski broj" msgid "Quantity of serial numbers to generate" msgstr "Količina serijskih brojeva koji će se generisati" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "Test šablon za ovaj rezultat" @@ -8901,222 +8905,222 @@ msgstr "Nadređena stavka" msgid "Parent stock item" msgstr "Nadređena stavka sa zaliha" -#: stock/serializers.py:451 +#: stock/serializers.py:454 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:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "Unesi serijske brojeve za nove stavke" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "Dobavljački broj dela" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "Isteklo" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Podređene stavke" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "Stavke za praćenje" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "Nabavna cena ove stavke, po jedinici ili pakovanju" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "Unesi broj stavka sa zaliha za serijalizaciju" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, 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:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "Odredišna lokacija zaliha" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "Serijski brojevi ne mogu biti dodeljeni ovom delu" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Serijski broj već postoji" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "Izaberi stavku za instaliranje" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "Količina za instaliranje" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "Izaberi količinu stavki za instaliranje" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "Dodaj beleške transakcija (opciono)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "Količina za instaliranje mora biti najmanje 1" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "Stavka je nedostupna" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "Izabrani deo nije na spisku materijala" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "Količina za instaliranje ne sme preći dostupnu količinu" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "Odredišna lokacija za deinstalirane stavke" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "Izaberi deo u koji će se konvertovati stavka" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "Izabrani deo nije validna opcija za konverziju" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Ne može se konvertovati stavka sa dodeljenim delom dobavljača" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "Statusni kod stavke sa zaliha" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "Izaberi stavke kojoj će se promeniti status" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "Nije izabrana stavka" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Podlokacije" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "Lokacija nadređenih zaliha" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "Deo mora biti za prodaju" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "Stavka je alocirana nalogu za prodaju" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "Stavka je alocirana nalogu za izradu" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "Mušterija kojoj će se dodeliti stavke sa zaliha" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "Izabrana kompanija nije mušterija" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Beleške dodeljivanja zaliha" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "Lista stavki mora biti dostavljena" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Beleške spajanja zaliha" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Dozvoli neslagajuće dobavljače" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "Dozvoli spajanje stavki sa različitim delovima dobavljača" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Dozvoli neslagajući status" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "Dozvoli spajanje stavki sa različitim statusnim kodovima" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "Bar dve stavke moraju biti dostavljene" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "Nema promena" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Vrednost primarnog ključa stavke" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "Stavka nije na zalihama" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Beleške transakcija zaliha" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "Nalozi za prodaju" msgid "Return Orders" msgstr "Nalozi za vraćanje" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Korisničko ime" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Ime" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Ime korisnika" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Prezime" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Prezime korisnika" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Adresa E-pošte korisnika" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Super korisnik" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Da li je ovaj korisnik Super korisnik?" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Da li je nalog ovog korisnika aktivan?" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Vaš nalog je kreiran" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Molimo vas koristite opciju resetovanja lozinke da biste se prijavili" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Dobrodošli u InvenTree" diff --git a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po index 4f7b647b34..a6f5f51af4 100644 --- a/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/sv/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Language: sv_SE\n" @@ -104,13 +104,13 @@ msgstr "Ange datum" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Anteckningar" @@ -215,7 +215,7 @@ msgstr "Angiven URL är inte en giltig bildfil" msgid "Log in to the app" msgstr "Logga in på appen" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "E-postadress" @@ -336,51 +336,51 @@ msgstr "Ett fel har loggats av servern." msgid "Image" msgstr "Bild" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Måste vara ett giltigt nummer" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Valuta" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Välj valuta från tillgängliga alternativ" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Ogiltigt värde" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Fjärransluten bild" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URL för fjärrbildsfil" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Nedladdning av bilder från fjärr-URL är inte aktiverad" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Inkludera varianter" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Inkludera varianter" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Inkludera varianter" msgid "Part" msgstr "Del" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Kategori" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Tillverkningen måste avbrytas innan den kan tas bort" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Valfri" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +687,7 @@ msgstr "" msgid "Tracked" msgstr "Spårad" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Testbar" @@ -695,24 +695,24 @@ msgstr "Testbar" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Allokerad" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "Konsumerad" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Byggorder" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Plats" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "Tillverknings order referens" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Försäljningsorderreferens" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Källa Plats" @@ -861,16 +861,16 @@ msgstr "Tillverknings status" msgid "Build status code" msgstr "Tillverkning statuskod" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Batchkod" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Batch-kod för denna byggutdata" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Skapad" @@ -964,7 +964,7 @@ msgstr "Tillverknings order {build} har slutförts" msgid "A build order has been completed" msgstr "En tillverknings order har slutförts" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "Byggutgång är redan slutförd" msgid "Build output does not match Build Order" msgstr "Byggutgång matchar inte bygg order" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "Bygg objekt" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Bygg objekt" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Tilldelad kvantitet ({q}) får inte överstiga tillgängligt lagersaldo msgid "Stock item is over-allocated" msgstr "Lagerposten är överallokerad" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Artikel i lager" @@ -1099,378 +1099,378 @@ msgstr "Destination lagervara" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Delnamn" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Bygg utdata" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Byggutdata matchar inte överordnad version" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Serienummer" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Ange serienummer för att tillverkade produkter" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "En lista över tillverkade produkter måste anges" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Lagerplats för skrotade produkter" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Ignorera alla lagerallokeringar för skrotade produkter" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Plats för färdiga produkter" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Slutför utfall om lager inte har tilldelats fullt ut" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Ta bort ofullständiga produkter" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Ta bort eventuella produkter som inte har slutförts" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Acceptera ofullständig" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Acceptera att det önskade antalet produkter som inte har slutförts" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "Tillverknings ordern är ofullständig" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Spårbar" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Ärvd" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Tillåt varianter" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "Avbruten" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "Är länk" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "Är fil" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "Användare" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Pris" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktiv" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Mall" @@ -2148,7 +2148,7 @@ msgstr "Mall" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Data" @@ -2156,18 +2156,18 @@ msgstr "Data" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Filnamn" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Modelltyp" @@ -2465,11 +2465,11 @@ msgstr "Modelltyp" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Komponent" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Tillverkare" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Företag" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "Välj del" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "MPN" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Leverantör" msgid "Select supplier" msgstr "Välj leverantör" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "Företagsnamn" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "I lager" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "ID" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Fält" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Kolumn" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "Radindex" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "Fel" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Giltig" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Intern del" @@ -4918,7 +4922,7 @@ msgstr "Startdatum" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Måldatum" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Status" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "Kontrollerad av" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "Allokeringsmängden måste vara större än noll" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Kopiera parametrar" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Leverantörsnamn" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "SKU" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Streckkod" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "Ikon" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Ikon (valfritt)" @@ -5858,7 +5862,7 @@ msgstr "Standardvärde" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Artiklar" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "Delkategori" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "IPN" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Underkategorier" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "Resultat" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Originaldel" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Kopiera bild" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "Kopiera test" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Kategorinamn" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "Revisioner" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Uppdatera" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Hoppa över ogiltiga rader" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "Ingen förändring" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Användarnamn" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Förnamn" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Förnamn på användaren" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Efternamn" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Efternamn på användaren" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Avsändarens E-postadress" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Superanvändare" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Är den här användaren en superanvändare" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Är detta användarkonto aktivt" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "Lösenord" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Ditt konto har skapats." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Använd funktionen för lösenordsåterställning för att logga in" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Välkommen till InvenTree" diff --git a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po index f546f6c0c8..566654c435 100644 --- a/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/th/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Thai\n" "Language: th_TH\n" @@ -104,13 +104,13 @@ msgstr "ป้อนวันที่" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "หมายเหตุ" @@ -215,7 +215,7 @@ msgstr "" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "อีเมล" @@ -336,51 +336,51 @@ msgstr "" msgid "Image" msgstr "" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "ต้องเป็นตัวเลข" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "สกุลเงิน" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "" @@ -687,7 +687,7 @@ msgstr "" msgid "Tracked" msgstr "" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "" @@ -695,24 +695,24 @@ msgstr "" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "สถานที่" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "" @@ -861,16 +861,16 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "" @@ -964,7 +964,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "จำนวนต้องมีค่ามากกว่า 0" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "" @@ -1099,378 +1099,378 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "ยกเลิกแล้ว" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "ผู้ใช้งาน" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "" @@ -2148,7 +2148,7 @@ msgstr "" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "" @@ -2156,18 +2156,18 @@ msgstr "" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "ชื่อไฟล์" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "" @@ -4213,12 +4213,12 @@ msgstr "" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "" msgid "Minimum charge (e.g. stocking fee)" msgstr "" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "สถานะ" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "ชิ้นส่วน" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "ยินดีต้อนรับเข้าสู่ Inventree" diff --git a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po index 34261b0039..eff0d927a4 100644 --- a/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/tr/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Language: tr_TR\n" @@ -104,13 +104,13 @@ msgstr "Tarih giriniz" msgid "Invalid decimal value" msgstr "Geçersiz ondalık değer" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Notlar" @@ -215,7 +215,7 @@ msgstr "Sağlanan URL geçerli bir görsel dosyası değil" msgid "Log in to the app" msgstr "Uygulamaya giriş yapın" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "E-posta" @@ -336,51 +336,51 @@ msgstr "Bir hafta sunucu tarafından kayıt edildi." msgid "Image" msgstr "Görsel" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Geçerli bir numara olmalı" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Para birimi" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Mevcut seçeneklerden para birimini seçin" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "Bu alan boş olamaz." -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Geçersiz değer" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Uzak Görsel" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "Uzak görselin dosya URL'si" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Uzak URL'den görsel indirme etkin değil" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "Uzak URL'den görsel indirilemedi" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "Geçersiz içerik türü biçimi" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "İçerik türü bulunamadı" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "İçerik türü gerekli mixin sınıfı ile eşleşmemektedir" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "Varyantları Dahil Et" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "Varyantları Dahil Et" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "Varyantları Dahil Et" msgid "Part" msgstr "Parça" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Kategori" @@ -669,16 +669,16 @@ msgstr "Ağacı Hariç Tut" msgid "Build must be cancelled before it can be deleted" msgstr "Üretim silinemeden önce iptal edilmelidir" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Sarf Malzemesi" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "İsteğe Bağlı" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Montaj" @@ -687,7 +687,7 @@ msgstr "Montaj" msgid "Tracked" msgstr "İzlenen" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Test Edilebilir" @@ -695,24 +695,24 @@ msgstr "Test Edilebilir" msgid "Order Outstanding" msgstr "Sipariş Açık" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Tahsis Edildi" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "Tüketildi" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "Siparişte" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Üretim Emri" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Konum" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "Çıktı" @@ -783,7 +783,7 @@ msgstr "Hedef tarih başlangıç tarihinden sonra olmalıdır" msgid "Build Order Reference" msgstr "Üretim Emri Referansı" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Satış Emri Referansı" msgid "Sales Order to which this build is allocated" msgstr "Bu üretimin tahsis edildiği satış siparişi" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Kaynak Konum" @@ -861,16 +861,16 @@ msgstr "Üretim Durumu" msgid "Build status code" msgstr "Üretim durum kodu" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Sıra numarası" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Bu üretim çıktısının parti kodu" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Oluşturulma tarihi" @@ -964,7 +964,7 @@ msgstr "{build} üretim emri tamamlandı" msgid "A build order has been completed" msgstr "Bir üretim emri tamamlandı" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "İzlenebilir parçalar için seri numaraları sağlanmalıdır" @@ -980,23 +980,23 @@ msgstr "Üretim çıktısı zaten tamamlanmış" msgid "Build output does not match Build Order" msgstr "Üretim çıktısı, üretim emri ile eşleşmiyor" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Miktar sıfırdan büyük olmalıdır" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "Miktar çıktı miktarından büyük olamaz" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "Üretim çıktısı tüm gerekli testleri geçmedi" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "{serial} üretim çıktısı gerekli testleri geçmedi" @@ -1017,10 +1017,10 @@ msgstr "Üretim Emri Satırı" msgid "Build object" msgstr "Üretim nesnesi" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Üretim nesnesi" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Tahsis edilen miktar ({q}) mevcut stok miktarını ({a}) aşmamalıdır" msgid "Stock item is over-allocated" msgstr "Stok kalemi fazladan tahsis edilmiş" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Stok Kalemi" @@ -1099,378 +1099,378 @@ msgstr "Hedef stok kalemi" msgid "Build Level" msgstr "Üretim Seviyesi" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Parça Adı" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Üretim Çıktısı" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Üretim çıktısı üst üretim ile eşleşmiyor" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Çıktı parçası üretim emri parçası ile eşleşmiyor" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Bu üretim çıktısı zaten tamamlandı" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Bu üretim çıktısı tam tahsis edilmedi" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Üretim çıktısının miktarını girin" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "İzlenebilir parçalar için tamsayı miktar gerekir" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Ürün ağacı izlenebilir parçalar içerdiğinden tamsayı miktar gereklidir" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Seri Numaraları" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Üretim çıktıları için seri numaraları girin" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Üretim çıktısı için stok konumu" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Seri Numaralarını Otomatik Tahsis Et" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "Eşleşen seri numaralı gerekli kalemleri otomatik tahsis et" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Şu seri numaraları zaten varlar veya geçersizler" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Bir üretim çıktıları listesi sağlanmalıdır" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Hurdaya ayrılan çıktılar için stok konumu" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Ayırmaları İptal Et" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Hurdaya ayrılan çıktılar için yapılan tüm stok ayırmalarını iptal et" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Üretim çıktı(larını) hurdaya ayırma nedeni" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Tamamlanan üretim çıktıları içi konum" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Tamamlanmamış Ayırmayı Onayla" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Stok henüz tamamen tahsis edilmemşse çıktıları tamamla" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Tahsis Edilen Stoku Tüket" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Bu üretim için zaten tahsis edilmiş olan tüm stokları tüket" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Tamamlanmamış Çıktıları Kaldır" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Henüz tamamlanmamış tüm üretim çıktılarını sil" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "İzin verilmedi" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Bu üretim emri tarafından tüketildi olarak kabul et" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Bu üretim emrini tamamlamadan önce tahsisi kaldır" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Aşırı Tahsis Edilmiş Stok" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Üretim emrine atanan ek stok kalemlerini nasıl işlemek istersiniz" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Bazı stok kalemleri aşırı tahsis edilmiştir" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Tahsis Edilmeyeni Kabul Et" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Stok kalemlerinin bu üretim emrine tamamen tahsis edilmediğini kabul et" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "Gerekli stok tamamen tahsis edilemedi" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Tamamlanmamış Kabul et" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Gereken miktarda üretim çıktısının tamamlanmadığını kabul et" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "Gereken üretim miktarı tamamlanmadı" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "Üretim emrinin açık alt üretim emirleri var" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "Üretim emri üretim durumunda olmalıdır" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "Üretim emrinde eksik çıktılar var" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Üretim Satırı" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Üretim çıktısı" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "Üretim çıktısı aynı üretimi göstermelidir" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Üretim Satırı" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part üretim emri ile aynı parçayı göstermelidir" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "Kalem stokta olmalıdır" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Mevcut miktar ({q}) aşıldı" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "İzlenen parçaların tahsisi için üretim çıktısı belirtilmelidir" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "İzlenmeyen parçaların tahsisi için üretim çıktısı belirtilemez" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Ayrılma ögeleri sağlanmalıdır" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Parçaların alınacağı stok konumu (herhangi bir konumdan almak için boş bırakın)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Konumu Hariç Tut" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Bu seçilen konumdan stok kalemlerini hariç tut" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Birbirinin Yerine Kullanılabilir Stok" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Birden fazla konumdaki stok kalemleri birbirinin yerine kullanılabilir" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Yedek Stok" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Yedek parçaların ayrılmasına izin ver" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "İsteğe Bağlı Ögeler" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "İsteğe bağlı BOM kalemlerini üretim emrine tahsis et" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "Tüm Ögeler" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "Takip edilmeyen kalemler" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "Takipli Kalemler" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "Kalem Türü" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "Otomatik tahsis edilecek ürün tipini seçin" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "ML Referansı" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "BOM Parça ID" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "ML Parça Adı" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "Kur" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "Yap" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Tedarikçi Parçası" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Tahsis Edilen Miktar" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "Üretim Referansı" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Parça Kategorisi Adı" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Takip Edilebilir" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Devralınmış" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Varyantlara İzin Ver" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "ML Ögesi" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "Üretimde" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "Üretim için Planlandı" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Harici Stok" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Mevcut Stok" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Mevcut Yedek Stok" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Mevcut Varyant Stok" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "Tüketilen miktar tahsis edilen miktarı aşıyor" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "Stok tüketimi için isteğe bağlı notlar" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "Üretim kalemi doğru üretim emrini göstermelidir" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "Üretim kalemi tahsisini yinele" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "Üretim satırı doğru üretim emrini göstermelidir" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "Üretim satırı tahsisini yinele" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "En az bir kalem veya satır sağlanmalıdır" @@ -1494,7 +1494,7 @@ msgstr "Beklemede" msgid "Cancelled" msgstr "İptal edildi" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Geciken Üretim Emri" msgid "Build order {bo} is now overdue" msgstr "{bo} üretim emri şimdi gecikti" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "Link Olanlar" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "Dosya Olanlar" -#: common/api.py:790 +#: common/api.py:777 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:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "Kullanıcının bu eki silmek için izni yok" @@ -1550,7 +1550,7 @@ msgstr "Geçerli bir para birimi kodu sağlanmamış" msgid "No plugin" msgstr "Eklenti yok" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Proje Kodu Etiketi" @@ -1628,7 +1628,7 @@ msgstr "Kullanıcı" msgid "Price break quantity" msgstr "Fiyat kademesi miktarı" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Fiyat" @@ -1652,7 +1652,7 @@ msgstr "Bu web kancası için ad" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Aktif" @@ -2126,7 +2126,7 @@ msgstr "Parametreler" msgid "Invalid choice for parameter value" msgstr "Parametre değeri için geçersiz seçim" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "Parametre için belirtilen model türü geçersiz" @@ -2140,7 +2140,7 @@ msgstr "Bu parametre için hedef modelin ID'si" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Şablon" @@ -2148,7 +2148,7 @@ msgstr "Şablon" msgid "Parameter template" msgstr "Parametre şablonu" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Veri" @@ -2156,18 +2156,18 @@ msgstr "Veri" msgid "Parameter Value" msgstr "Parametre Değeri" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Not" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "İsteğe bağlı not alanı" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Dosya adı" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "Model Tipi" @@ -2465,11 +2465,11 @@ msgstr "Model Tipi" msgid "User does not have permission to create or edit attachments for this model" msgstr "Kullanıcının bu model için ek oluşturma veya düzenleme izni yok" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "Kullanıcı bu model için parametre oluşturma veya düzenleme iznine sahip değil" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "Seçim listesi kilitli" @@ -2859,8 +2859,8 @@ msgstr "Parçaları varsayılan olan şablondur" msgid "Parts can be assembled from other components by default" msgstr "Parçalar varsayılan olarak başka bileşenlerden monte edilebilir" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Bileşen" @@ -3988,33 +3988,33 @@ msgstr "Parça Aktif" msgid "Manufacturer is Active" msgstr "Üretici Aktif" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "Tedarikçi Parçası Aktif" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "Ana Tedarikçi Parçası" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "Dahili Parça Aktif" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "Tedarikçi Aktif" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Üretici" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Şirket" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "Stoku Var" @@ -4195,7 +4195,7 @@ msgstr "Dahili kullanım için sevkiyat notları" msgid "Link to address information (external)" msgstr "Adres bilgisine bağlantı (harici)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Üretici Parçası" @@ -4213,12 +4213,12 @@ msgstr "Parça seçin" msgid "Select manufacturer" msgstr "Üretici seçin" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "ÜPN" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Üretici Parça Numarası" @@ -4242,8 +4242,8 @@ msgstr "Paket birimleri sıfırdan büyük olmalıdır" msgid "Linked manufacturer part must reference the same base part" msgstr "Bağlantılı üretici parçası aynı temel parçayı referans almalıdır" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Tedarikçi" msgid "Select supplier" msgstr "Tedarikçi seçin" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Tedarikçi stok kodu" @@ -4290,8 +4290,8 @@ msgstr "temel maliyet" msgid "Minimum charge (e.g. stocking fee)" msgstr "Minimum ücret (örneğin stoklama ücreti)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Paketleme" @@ -4339,14 +4339,18 @@ msgstr "Bu tedarikçi için kullanılan varsayılan para birimi" msgid "Company Name" msgstr "Şirket Adı" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "Stokta" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "Fiyat Kademeleri" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "Veri dışa aktarma sırasında hata oluştu" @@ -4451,67 +4455,67 @@ msgstr "ID" msgid "Existing database identifier for the record" msgstr "Kayıt için mevcut veritabanı tanımlayıcısı" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "Sütun zaten bir veritabanı alanına eşlenmiştir" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "Alan zaten bir veri sütununa eşlenmiştir" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "Sütun eşlemesi geçerli bir içe aktarma oturumuna bağlanmalıdır" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "Sütun veri dosyasında bulunmuyor" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "Alan hedef modelde bulunmuyor" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "Seçilen alan salt okunurdur" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "Oturumu İçe Aktar" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "Alan" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "Sütun" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "Satır İndeksi" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "Orijinal satır verisi" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "Hatalar" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Geçerli" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "Mevcut kayıtları güncellemek için ID gereklidir." -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "Sağlanan ID ile kayıt bulunamadı" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "Sağlanan ID biçimi geçersiz" @@ -4821,7 +4825,7 @@ msgstr "Sipariş" msgid "Order Complete" msgstr "Sipariş Tamamlandı" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Dahili Parça" @@ -4918,7 +4922,7 @@ msgstr "Başlangıç ​​tarihi" msgid "Scheduled start date for this order" msgstr "Bu üretim emri için planlanan başlangıç tarihi" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Hedeflenen tarih" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Sipariş referansı" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Durum" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Teslim Alındı" msgid "Number of items received" msgstr "Teslim alınan miktar" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Alış Fiyatı" @@ -5211,8 +5215,8 @@ msgstr "Kontrol Eden" msgid "User who checked this shipment" msgstr "Bu sevkiyatı kontrol eden kullanıcılar" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Sevkiyat" @@ -5277,7 +5281,7 @@ msgstr "Tahsis miktarı stok miktarını aşamaz" msgid "Allocation quantity must be greater than zero" msgstr "Tahsis edilen miktar sıfırdan büyük olmalıdır" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "Seri numaralı stok kalemi için miktar 1 olmalıdır" @@ -5393,7 +5397,7 @@ msgstr "Ek Kalemleri Kopyala" msgid "Copy extra line items from the original order" msgstr "Orijinal siparişten ek kalemleri kopyala" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Parametreleri Kopyala" @@ -5412,216 +5416,216 @@ msgstr "Satırlar" msgid "Completed Lines" msgstr "Tamamlanan Satırlar" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "Siparişin Kopyasını Oluştur" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "Bu siparişin kopyasını oluşturmak için seçenekleri belirtin" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "Geçersiz sipariş ID" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Tedarikçi Adı" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "Sipariş iptal edilemez" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Satır eksiği olan siparişin kapatılmasına izin ver" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "Siparişin eksik satırları var" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "Sipariş açık değil" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "Otomatik Fiyatlandırma" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "Tedarikçi parça verilerine göre satın alma fiyatını otomatik olarak hesapla" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Satın alma fiyatı para birimi" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "Kalemleri Birleştir" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "Aynı parça, hedef ve hedef tarihe sahip kalemleri tek bir satırda birleştir" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "SKU" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Dahili Parça Numarası" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "Dahili Parça Adı" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "Tedarikçi parçası belirtilmeli" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "Satın alma siparişi belirtilmeli" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "Tedarikçi satın alma siparişi ile eşleşmelidir" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "Satın alma siparişi tedarikçi ile eşleşmelidir" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Satır" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Teslim alınan kalemler için varış konumunu seçin" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Gelen stok kalemleri için parti numarası girin" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Son Kullanma Tarihi" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "Gelen stok kalemleri için son kullanma tarihi girin" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Gelen stok kalemlerinin seri numaralarını girin" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "Gelen stok kalemlerinin paketleme bilgilerini geçersiz kıl" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "Gelen stok kalemleri için ek not" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Barkod" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Taranan barkod" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Barkod zaten kullanımda" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Satırlar sağlanmalıdır" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "Hedef konum belirtilmelidir" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "Sağlanan barkod değerleri benzersiz olmalıdır" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "Sevkiyatlar" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Tamamlanan Sevkiyatlar" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "Tahsis Edilen Kalemler" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Satış para birimi" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "Tahsis Edilen Kalemler" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "Sevkiyat bilgileri sağlanmadı" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "Ürün kalemi bu siparişle ilişkilendirilmemiştir" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "Miktar pozitif olmalıdır" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Tahsis edilecek seri numaralarını girin" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "Sevkiyat zaten sevk edildi" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "Sevkiyat bu sipariş ile ilişkilendirilmemiştir" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "Şu seri numaraları için bir eşleşme bulunamadı" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "Şu seri numaraları mevcut değildir" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "İade siparişi kalemi" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "Ürün kalemi iade siparişi ile eşleşmiyor" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "Ürün kalemi zaten teslim alındı" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Ürün kalemleri yalnızca işlemdeki siparişlere istinaden teslim alınabilir" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "İade olacak miktar" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Satır para birimi" @@ -5837,7 +5841,7 @@ msgstr "Bu kategoridaki parçalar için varsayılan anahtar kelimeler" msgid "Icon" msgstr "Simge" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Simge (isteğe bağlı)" @@ -5858,7 +5862,7 @@ msgstr "Varsayılan Değer" msgid "Default Parameter Value" msgstr "Varsayılan Parametre Değeri" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Parçalar" @@ -5973,7 +5977,7 @@ msgstr "Arama sonuçlarında görünürlüğü artırmak için parça anahtar ke msgid "Part category" msgstr "Parça kategorisi" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "DPN" @@ -6006,7 +6010,7 @@ msgstr "Varsayılan Son Kullanma" msgid "Expiry time (in days) for stock items of this part" msgstr "Bu parçanın stok kalemleri için son kullanma süresi (gün olarak)" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Minimum Stok" @@ -6487,355 +6491,355 @@ msgstr "Bir parça ile kendisi arasında parça ilişkisi oluşturulamaz" msgid "Duplicate relationship already exists" msgstr "Kopyalanan ilişki zaten mevcut" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "Üst Kategori" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "Üst parça kategorisi" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Alt kategoriler" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "Sonuçlar" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "Bu şablon ile ilişkilendirilmiş sonuç sayısı" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "Bu stok kaleminin alış para birimi" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "Dosya bir görsel değil" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Orijinal Parça" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Kopyalanacak orijinal parçayı seçin" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Görseli Kopyala" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Orijinal parçadan görseli kopyala" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "BOM'u Kopyala" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "Orijinal parçadan ürün ağacını kopyala" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "Orijinal parçadan parametreleri kopyala" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Notları Kopyala" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "Orijinal parçadan notları kopyala" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "Testleri Kopyala" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "Orijinal parçadan test şablonlarını kopyala" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Başlangıç Stok Miktarı" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "Bu parça için başlangıç stok miktarını belirtin. Miktar sıfır ise, stok eklenmez." -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "Başlangıç Stok Konumu" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "Bu parça için başlangıç stok konumunu belirtin" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "Tedarikçiyi seçin (veya atlamak için boş bırakın)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "Üreticiyi seçin (veya atlamak için boş bırakın)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Üretici parça numarası" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "Seçilen şirket geçerli bir tedarikçi değildir" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "Seçilen şirket geçerli bir üretici değildir" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "Bu MPN ile eşleşen üretici parçası zaten mevcut" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "Bu SKU ile tedarikçi parçası zaten mevcut" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Kategori Adı" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "Üretiliyor" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "Bu parçanın şu anda üretimde olan miktarı" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "Bu parçanın üretilmesi planlanan açık miktarı" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Stok Kalemleri" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "Revizyonlar" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "Toplam Stok" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "Tahsis Edilmemiş Stok" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "Varyant Stoku" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Parçanın Kopyasını Oluştur" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "Başlangıç verisini diğer parçadan kopyala" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Başlangıç Stoku" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Başlangıç stok miktarı ile parça oluştur" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Tedarikçi Bilgileri" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "Bu parça için ilk tedarikçi bilgilerini ekleyin" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Kategori Parametrelerini Kopyala" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "Seçilen parça kategorisinden parametre şablonlarını kopyala" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Mevcut Görsel" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "Mevcut parça görselinin dosya adı" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "Görsel dosyası mevcut değil" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Tüm ürün ağacını doğrula" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Üretebilir Miktar" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "Üretim Emirleri için Gerekli" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "Üretim Emirlerine Tahsis Edildi" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "Satış Siparişleri için Gerekli" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "Satış Siparişlerine Tahsis Edildi" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "Parça DPN" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "Parça Açıklaması" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "Stok sayımı bilgisi oluşturmak üzere bir parça (ve varsa varyantlarını) seçin" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "Kategorideki (ve alt kategorilerdeki) tüm parçaları dahil etmek için bir kategori seçin" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "Konumda (ve alt konumlarda) stoğu bulunan tüm parçaları dahil etmek için bir konum seçin" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "Stok Sayımı Kayıtları Oluşturun" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "Seçili parçalar için stok sayımı girdilerini kaydedin" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "Rapor Oluştur" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "Seçili parçalar için stok sayımı raporu oluşturun" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Minimum Fiyat" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Minimum fiyat için hesaplanan değeri geçersiz kıl" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Minimum fiyat para birimi" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Maksimum Fiyat" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "Maksimum fiyat için hesaplanan değeri geçersiz kıl" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Maksimum fiyat para birimi" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Güncelle" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "Bu parçanın fiyatlandırmasını güncelle" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "Sağlanan para birimlerinden {default_currency} para birimine dönüştürülemedi" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "Minimum fiyat maksimum fiyattan yüksek olamaz" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "Maksimum fiyat minimum fiyattan düşük olamaz" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "Miktar sıfır veya daha büyük olmalıdır" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "Üst montajı seçin" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "Bileşeni seçin" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "BOM'u kopyalanacak parçayı seçin" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Mevcut Verileri Temizle" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "Kopyalamadan önce mevcut BOM kalemlerini temizle" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Devralınanı Dahil Et" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "Şablon parçalardan devralınan BOM kalemlerini dahil et" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Geçersiz Satırları Atla" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "Geçersiz satırları atlamak için bu seçeneği etkinleştir" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Muadil Parçaları Kopyala" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "BOM kalemlerinin kopyasını oluştururken muadil parçaları kopyala" @@ -8288,7 +8292,7 @@ msgstr "Stok Kalemi Test Raporu" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Takılı Kalemler" @@ -8361,7 +8365,7 @@ msgstr "Üst seviye konumlara göre filtrele" msgid "Include sub-locations in filtered results" msgstr "Filtrelenmiş sonuçlara alt konumları dahil et" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "Üst Konum" @@ -8445,7 +8449,7 @@ msgstr "Son kullanma tarihi öncesi" msgid "Expiry date after" msgstr "Son kullanma tarihi sonrası" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "Bozuk" @@ -8579,7 +8583,7 @@ msgstr "Parça belirtilmelidir" msgid "Stock items cannot be located into structural stock locations!" msgstr "Stok kalemleri yapısal stok konumlarına yerleştirilemez!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "Sanal parçalar için stok kalemi oluşturulamaz" @@ -8624,7 +8628,7 @@ msgstr "Bu stok kalemiyle eşleşen bir tedarikçi parçası seçin" msgid "Where is this stock item located?" msgstr "Bu stok kalemi nerede bulunur?" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "Bu stok kaleminin ambalajı şu şekilde saklanmaktadır" @@ -8640,7 +8644,7 @@ msgstr "Bu öge başka bir ögeye takılı mı?" msgid "Serial number for this item" msgstr "Bu öge için seri numarası" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Bu stok kalemine ait parti kodu" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "Tedarikçi Parça Numarası" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "Bu parçaya seri numarası atanamaz" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Seri numaraları zaten mevcut" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "Takılacak stok kalemini seçin" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "Miktar" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "Takılacak kalemlerin miktarını girin" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "İşlem notu ekle (isteğe bağlı)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "Miktar en az \"1\" olmalıdır" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "Stok kalemi mevcut değil" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "Seçilen parça malzeme listesinde bulunamadı" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "Takılacak miktar, mevcudu geçmemeli" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "Sökülen ürün için hedef konum" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "Stok kaleminin dönüştürüleceği parçayı seçin" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "Seçilen parça dönüştürülmeye uygun değil" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "Tedarikçi parçası atanmış stok kalemi dönüştürülemez" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "Stok kalemi durum kodu" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "Durumu değiştirilecek stok kalemlerini seçin" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "Hiçbir stok kalemi seçilmedi" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Alt konumlar" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "Üst stok konumu" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "Parça satılabilir olmalıdır" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "Ürün bir satış siparişine tahsis edilmiştir" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "Ürün bir üretim emrine tahsis edilmiştir" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "Stok kalemlerini atamak için müşteri" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "Seçilen şirket bir müşteri değil" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Stok tahsis notları" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "Bir stok kalemleri listesi girilmelidir" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Stok birleştirme notları" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Farklı tedarikçilere izin ver" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "Farklı tedarikçi parçalarına sahip stokları birleştirmeye izin ver" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Farklı durumlara sahip kalemlere izin ver" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "Farklı durum kodlarına sahip stokları birleştirmeye izin ver" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "En az iki stok kalemi girilmelidir" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "Değişiklik Yok" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Stok Kalemi birincil anahtar (PK) değeri" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "Stok kalemi mevcut stokta yok" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "Stok kalemi zaten stokta" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "Miktar negatif olamaz" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Stok aktarım notları" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "Mevcut stokla birleştir" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "Mümkünse iade edilen ürünleri mevcut stoklarla birleştir" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "Sıradaki Seri Numarası" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "Önceki Seri Numarası" @@ -9598,99 +9602,99 @@ msgstr "Satış Siparişleri" msgid "Return Orders" msgstr "İade Emirleri" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Kullanıcı Adı" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Adı" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Kullanıcının adı" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Soyadı" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Kullanıcının soyadı" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Kullanıcının e-posta adresi" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Süper Kullanıcı" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Bu kullanıcı bir süper kullanıcı mı" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Bu kullanıcı hesabı aktif mi" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "Bu alanı sadece bir yönetici değiştirebilir" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "Parola" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "Kullanıcının parolası" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "Uyarıları yok say" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "Şifre kuralları uyarılarını yok say" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "Kullanıcı yaratmak için yetkiniz yok" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Kullanıcı hesabınız oluşturulmuştur." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Giriş yapmak için lütfen şifre sıfırlama fonksiyonunu kullanınız" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "InvenTree'ye Hoşgeldiniz" diff --git a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po index 57d358071c..47ab3153f3 100644 --- a/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/uk/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Language: uk_UA\n" @@ -104,13 +104,13 @@ msgstr "Введіть дату" msgid "Invalid decimal value" msgstr "Неправильне десяткове значення" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Нотатки" @@ -215,7 +215,7 @@ msgstr "" msgid "Log in to the app" msgstr "Авторизуватися в додатку" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "Електронна пошта" @@ -336,51 +336,51 @@ msgstr "" msgid "Image" msgstr "Зображення" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "Деталь" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Розхідний матеріал" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Збірка" @@ -687,7 +687,7 @@ msgstr "Збірка" msgid "Tracked" msgstr "" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Тестуємо" @@ -695,24 +695,24 @@ msgstr "Тестуємо" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Місце" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "" @@ -861,16 +861,16 @@ msgstr "" msgid "Build status code" msgstr "" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "" @@ -964,7 +964,7 @@ msgstr "" msgid "A build order has been completed" msgstr "" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "" @@ -980,23 +980,23 @@ msgstr "" msgid "Build output does not match Build Order" msgstr "" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "" @@ -1017,10 +1017,10 @@ msgstr "" msgid "Build object" msgstr "" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "" msgid "Stock item is over-allocated" msgstr "" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "" @@ -1099,378 +1099,378 @@ msgstr "" msgid "Build Level" msgstr "" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Дозволити варіанти" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "У виробництві" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "" msgid "Cancelled" msgstr "" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "" msgid "Build order {bo} is now overdue" msgstr "" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "" @@ -1550,7 +1550,7 @@ msgstr "" msgid "No plugin" msgstr "" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "" @@ -1628,7 +1628,7 @@ msgstr "Користувач" msgid "Price break quantity" msgstr "" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Ціна" @@ -1652,7 +1652,7 @@ msgstr "" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Шаблон" @@ -2148,7 +2148,7 @@ msgstr "Шаблон" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Дані" @@ -2156,18 +2156,18 @@ msgstr "Дані" msgid "Parameter Value" msgstr "" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Примітка" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "" msgid "Parts can be assembled from other components by default" msgstr "" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Компонент" @@ -3988,33 +3988,33 @@ msgstr "Позиція активна" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "Позиція постачальника активна" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "Внутрішня позиція активна" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Виробник" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "" msgid "Link to address information (external)" msgstr "" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Позиція виробника" @@ -4213,12 +4213,12 @@ msgstr "Обрати позицію" msgid "Select manufacturer" msgstr "" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "" @@ -4242,8 +4242,8 @@ msgstr "" msgid "Linked manufacturer part must reference the same base part" msgstr "" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "" msgid "Select supplier" msgstr "" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "" @@ -4290,8 +4290,8 @@ msgstr "Базова вартість" msgid "Minimum charge (e.g. stocking fee)" msgstr "Мінімальний платіж (напр. комісія за збереження)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "" @@ -4339,14 +4339,18 @@ msgstr "" msgid "Company Name" msgstr "" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "В наявності" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Дійсно" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Внутрішній компонент" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "" msgid "Number of items received" msgstr "" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "" @@ -5211,8 +5215,8 @@ msgstr "" msgid "User who checked this shipment" msgstr "" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "" @@ -5277,7 +5281,7 @@ msgstr "" msgid "Allocation quantity must be greater than zero" msgstr "" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "" @@ -5412,216 +5416,216 @@ msgstr "" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "" @@ -5837,7 +5841,7 @@ msgstr "" msgid "Icon" msgstr "" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "" @@ -5858,7 +5862,7 @@ msgstr "" msgid "Default Parameter Value" msgstr "" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Позиції" @@ -5973,7 +5977,7 @@ msgstr "" msgid "Part category" msgstr "" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,7 @@ msgstr "" msgid "Expiry time (in days) for stock items of this part" msgstr "" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Мінімальний запас" @@ -6487,355 +6491,355 @@ msgstr "" msgid "Duplicate relationship already exists" msgstr "" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "Результати" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Виробничий номер позиції" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Початковий запас" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Наявне зображення" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Мінімальна ціна" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Максимальна ціна" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "" @@ -8288,7 +8292,7 @@ msgstr "" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "" msgid "Expiry date after" msgstr "" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "" @@ -8624,7 +8628,7 @@ msgstr "" msgid "Where is this stock item located?" msgstr "" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "" @@ -8640,7 +8644,7 @@ msgstr "" msgid "Serial number for this item" msgstr "" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "" @@ -8753,7 +8757,7 @@ msgstr "" msgid "Serialized stock cannot be merged" msgstr "" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "" msgid "Return Orders" msgstr "" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Ім`я" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Прізвище" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Адреса електронної пошти користувача" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "" diff --git a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po index 26a4ab41d5..6cbee1047a 100644 --- a/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/vi/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:41\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Language: vi_VN\n" @@ -104,13 +104,13 @@ msgstr "Nhập ngày" msgid "Invalid decimal value" msgstr "" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "Ghi chú" @@ -215,7 +215,7 @@ msgstr "URL được cung cấp không phải là tệp hình ảnh hợp lệ" msgid "Log in to the app" msgstr "" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "Email" @@ -336,51 +336,51 @@ msgstr "Lỗi đã được ghi lại bởi máy chủ." msgid "Image" msgstr "Hình ảnh" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "Phải là một số hợp lệ" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "Tiền tệ" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "Chọn tiền tệ trong các tùy chọn đang có" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "Giá trị không hợp lệ" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "Hình ảnh từ xa" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "URL của tệp hình ảnh bên ngoài" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "Chức năng tải hình ảnh từ URL bên ngoài không được bật" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "" msgid "Part" msgstr "Nguyên liệu" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "Danh mục" @@ -669,16 +669,16 @@ msgstr "" msgid "Build must be cancelled before it can be deleted" msgstr "Bạn dựng phải được hủy bỏ trước khi có thể xóa được" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "Vật tư tiêu hao" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "Tuỳ chọn" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "Lắp ráp" @@ -687,7 +687,7 @@ msgstr "Lắp ráp" msgid "Tracked" msgstr "Đã theo dõi" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "Có thể kiểm tra" @@ -695,24 +695,24 @@ msgstr "Có thể kiểm tra" msgid "Order Outstanding" msgstr "" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "Đã cấp phát" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "Đã dùng" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "Bật đơn hàng" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "Tạo đơn hàng" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "Địa điểm" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "" @@ -783,7 +783,7 @@ msgstr "" msgid "Build Order Reference" msgstr "Tham chiếu đơn đặt bản dựng" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "Tham chiếu đơn đặt bản dựng" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "Địa điểm nguồn" @@ -861,16 +861,16 @@ msgstr "Trnạg thái bản dựng" msgid "Build status code" msgstr "Mã trạng thái bản dựng" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "Mã lô hàng" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "Mã lô cho đầu ra bản dựng này" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "Ngày tạo" @@ -964,7 +964,7 @@ 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:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 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" @@ -980,23 +980,23 @@ msgstr "Đầu ra bản dựng đã được hoàn thiện" 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:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "Số lượng phải lớn hơn 0" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 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:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, 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" @@ -1017,10 +1017,10 @@ msgstr "Tạo mục đơn hàng" msgid "Build object" msgstr "Dựng đối tượng" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "Dựng đối tượng" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "Số lượng được phân bổ ({q}) không thể vượt quá số l msgid "Stock item is over-allocated" msgstr "Kho hàng đã bị phân bổ quá đà" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "Kho hàng" @@ -1099,378 +1099,378 @@ msgstr "Kho hàng đích" msgid "Build Level" msgstr "Tạo cấp" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "Tên sản phẩm" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "Đầu ra bản dựng" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "Đầu ra xây dựng không hợp với bản dựng cha" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "Đầu ra sản phẩm không phù hợp với bản dựng đơn đặt hàng" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "Đầu ra bản dựng này đã được hoàn thành" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "Đầu ra bản dựng này chưa được phân bổ đầy đủ" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "Điền số lượng cho đầu ra bản dựng" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "Số lượng nguyên dương cần phải điền cho sản phẩm có thể theo dõi" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "Cần nhập số lượng nguyên dương, bởi vì hóa đơn vật liệu chứa sản phẩm có thể theo dõi" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "Số sê-ri" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "Nhập vào số sêri cho đầu ra bản dựng" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "Vị trí tồn kho cho sản phẩm" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "Số sêri tự cấp" -#: build/serializers.py:378 +#: build/serializers.py:385 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:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "Số sêri sau đây đã tồn tại hoặc không hợp lệ" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "Danh sách đầu ra bản dựng phải được cung cấp" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "Vị trí kho cho đầu ra phế phẩm" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "Hủy phân bổ" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "Hủy bất kỳ phân kho nào cho đầu ra phế phẩm" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "Lý do loại bỏ đầu ra bản dựng" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "Vị trí cho đầu ra bản dựng hoàn thiện" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "Chấp nhận phân kho dang dở" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "Hoàn hiện đầu ra nếu kho chưa được phân bổ hết chỗ trống" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "Xử lý phân bổ kho hàng" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "Tiêu thụ bất kỳ hàng tồn kho nào đã được phân bổ cho dự án này." -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "Xóa toàn bộ đầu ra chưa hoàn thành" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "Xóa bất kỳ đầu ra bản dựng nào chưa được hoàn thành" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "Chưa được cấp phép" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "Chấp nhận trạng thái tiêu hao bởi đơn đặt bản dựng này" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "Phân bổ trước khi hoàn thiện đơn đặt bản dựng này" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "Kho quá tải" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "Bạn muốn thế nào để xử lý hàng trong kho được gán thừa cho đơn đặt bản dựng" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "Một vài hàng hóa đã được phân bổ quá thừa" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "Chấp nhận chưa phân bổ được" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "Chấp nhận hàng hóa không được phân bổ đầy đủ vào đơn đặt bản dựng này" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "Kho được yêu cầu chưa được phân bổ hết không gian" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "Chấp nhận không hoàn thành" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "Chấp nhận số yêu cầu của đầu ra bản dựng chưa được hoàn thành" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "Số lượng bản dựng được yêu cầu chưa được hoàn thành" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "Tạo đơn hàng có các đơn hàng đang mở" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "Tạo đơn hàng phải ở trạng thái sản xuất." -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "Đơn đặt bản dựng có đầu ra chưa hoàn thiện" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "Lộ giới" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "Đầu ra bản dựng" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "Đầu ra bản dựng phải chỉ đến bản dựng tương ứng" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "Mục chi tiết bản dựng" -#: build/serializers.py:926 +#: build/serializers.py:933 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:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "Hàng hóa phải trong kho" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "Số lượng có sẵn ({q}) đã bị vượt quá" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "Đầu ra bản dựng phải được xác định cho việc phân sản phẩm được theo dõi" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "Đầu ra bản dựng không thể chỉ định cho việc phân sản phẩm chưa được theo dõi" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "Hàng hóa phân bổ phải được cung cấp" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "Vị trí kho nơi sản phẩm được lấy ra (để trống để lấy từ bất kỳ vị trí nào)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "Ngoại trừ vị trí" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "Không bao gồm hàng trong kho từ vị trí đã chọn này" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "Kho trao đổi" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "Hàng trong kho thuộc nhiều vị trí có thể dùng thay thế được cho nhau" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "Kho thay thế" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "Cho phép phân kho sản phẩm thay thế" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "Mục tùy chọn" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "Phân bổ các mục hóa đơn vật liệu tùy chọn đến đơn đặt bản dựng" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "BOM liên quan" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "ID hàng hoá BOM" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "Tên hàng hoá BOM" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "Sản phẩm nhà cung cấp" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "Số lượng đã phân bổ" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "Tạo liên quan" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "Tên danh mục hàng hoá" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "Có thể theo dõi" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "Được kế thừa" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "Cho phép biến thể" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "Mục BOM" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "Đang sản xuất" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "Kho ngoài" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "Số hàng tồn" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "Kho hàng thay thế" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "Hàng tồn kho có sẵn" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "" @@ -1494,7 +1494,7 @@ msgstr "Chờ" msgid "Cancelled" msgstr "Đã hủy" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "Đơn đặt bản dựng quá hạn" msgid "Build order {bo} is now overdue" msgstr "Đặt hàng bản dựng {bo} đang quá hạn" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "Đường dẫn" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "File" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "Không có quyền xoá file đính kèm" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "Không có quyền xoá file đính kèm" @@ -1550,7 +1550,7 @@ msgstr "Mã tiền tệ không đúng" msgid "No plugin" msgstr "Không phần mở rộng" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "Nhãn mã dự án" @@ -1628,7 +1628,7 @@ msgstr "Người dùng" msgid "Price break quantity" msgstr "Số lượng giá phá vỡ" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "Giá" @@ -1652,7 +1652,7 @@ msgstr "Tên của webhook này" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "Hoạt động" @@ -2126,7 +2126,7 @@ msgstr "" msgid "Invalid choice for parameter value" msgstr "Lựa chọn sai cho giá trị tham số" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "Mẫu" @@ -2148,7 +2148,7 @@ msgstr "Mẫu" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "Dữ liệu" @@ -2156,18 +2156,18 @@ msgstr "Dữ liệu" msgid "Parameter Value" msgstr "Giá trị tham số" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "Ghi chú" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "Trường ghi chú tùy chọn" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "Tên tập tin" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "" @@ -2465,11 +2465,11 @@ msgstr "" msgid "User does not have permission to create or edit attachments for this model" msgstr "" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "" @@ -2859,8 +2859,8 @@ msgstr "Sản phẩm là mẫu bởi mặc định" msgid "Parts can be assembled from other components by default" msgstr "Sản phẩm có thể lắp giáp từ thành phần khác theo mặc định" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "Thành phần" @@ -3988,33 +3988,33 @@ msgstr "" msgid "Manufacturer is Active" msgstr "" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "Nhà sản xuất" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "Doanh nghiêp" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "" @@ -4195,7 +4195,7 @@ msgstr "Ghi chú nội bộ sử dụng cho chuyển phát nhanh" msgid "Link to address information (external)" msgstr "Liên kết thông tin địa chỉ (bên ngoài)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "Sản phẩm nhà sản xuất" @@ -4213,12 +4213,12 @@ msgstr "Chọn sản phẩm" msgid "Select manufacturer" msgstr "Chọn nhà sản xuất" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "Mã số nhà sản xuất" @@ -4242,8 +4242,8 @@ msgstr "Đơn vị đóng gói phải lớn hơn không" 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:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "Nhà cung cấp" msgid "Select supplier" msgstr "Chọn nhà cung cấp" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "Đơn vị quản lý kho nhà cung cấp" @@ -4290,8 +4290,8 @@ msgstr "chi phí cơ sở" msgid "Minimum charge (e.g. stocking fee)" msgstr "Thu phí tối thiểu (vd: phí kho bãi)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "Đóng gói" @@ -4339,14 +4339,18 @@ 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:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "Còn hàng" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "" @@ -4451,67 +4455,67 @@ msgstr "" msgid "Existing database identifier for the record" msgstr "" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "Hợp lệ" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "Đặt hàng" msgid "Order Complete" msgstr "" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "Sản phẩm nội bộ" @@ -4918,7 +4922,7 @@ msgstr "" msgid "Scheduled start date for this order" msgstr "" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "Ngày mục tiêu" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "Mã đặt hàng" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "Trạng thái" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "Đã nhận" msgid "Number of items received" msgstr "Số mục đã nhận" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "Giá mua" @@ -5211,8 +5215,8 @@ msgstr "Kiểm tra bởi" msgid "User who checked this shipment" msgstr "Người dùng đã kiểm tra vận chuyển này" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "Vận chuyển" @@ -5277,7 +5281,7 @@ msgstr "Số lượng phân bổ không thể vượt quá số lượng của k msgid "Allocation quantity must be greater than zero" msgstr "Số lượng phân bổ phải lớn hơn 0" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "Số lượng phải là 1 cho hàng hóa sêri" @@ -5393,7 +5397,7 @@ msgstr "" msgid "Copy extra line items from the original order" msgstr "" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "Sao chép thông số" @@ -5412,216 +5416,216 @@ msgstr "Mục dòng" msgid "Completed Lines" msgstr "" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "Tên nhà cung cấp" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "Đơn đặt không thể bị hủy" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "Cho phép đơn đặt phải đóng lại cùng với các mục dòng hàng hóa chưa hoàn thành" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "Đơn đặt có dòng hàng hóa chưa hoàn thành" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "Đơn đặt là không được mở" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "Tiền tệ giá mua" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "Mã sản phẩm nội bộ" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "Sản phẩm nhà cung cấp phải được chỉ định" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "Đơn đặt mua phải được chỉ định" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "Nhà cung cấp phải phù hợp với đơn đặt mua" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "Đơn đặt mua phải phù hợp với nhà cung cấp" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "Mục dòng" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "Chọn vị trí đích cho hàng hóa đã nhận" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "Nhập mã lô cho hàng trong kho đang đến" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "Ngày hết hạn" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "Nhập số sê ri cho hàng trong kho đang đến" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "Mã vạch" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "Mã vạch đã quét" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "Mã vạch đã được dùng" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "Dòng hàng hóa phải được cung cấp" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "Vị trí đích phải được chỉ ra" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "Giá trị mã vạch đã cung cấp phải duy nhất" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "Vận đơn đã hoàn thành" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "Tiền tệ giá bán" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "Chưa cung cấp thông tin vận chuyển" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "Dòng hàng hóa chưa được gắn với đơn đặt này" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "Số lượng phải là số dương" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "Nhập số sê ri để phân bổ" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "Vận đơn đã được chuyển đi" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "Vận đơn không được gắn với đơn đặt này" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "Không tìm thấy số sê ri sau đây" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "Dòng riêng biệt đơn hàng trả lại" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "Line item không phù hợp với đơn hàng trả lại" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "Line item đã nhận được" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "Hàng hóa chỉ có thể được nhận theo đơn hàng đang trong tiến trình" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "Tiền tệ giá đồng hạng" @@ -5837,7 +5841,7 @@ msgstr "Từ khóa mặc định cho sản phẩm trong danh mục này" msgid "Icon" msgstr "Biểu tượng" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "Biểu tượng (tùy chọn)" @@ -5858,7 +5862,7 @@ msgstr "Giá trị mặc định" msgid "Default Parameter Value" msgstr "Giá trị tham số mặc định" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "Nguyên liệu" @@ -5973,7 +5977,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:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "" @@ -6006,7 +6010,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:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "Kho tối thiểu" @@ -6487,355 +6491,355 @@ msgstr "Không thể tạo mối quan hệ giữa một sản phẩm và chính msgid "Duplicate relationship already exists" msgstr "Đã tồn tại mối quan hệ trùng lặp" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "Phụ mục" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 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:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "Sản phẩm gốc" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "Chọn sản phẩm gốc để nhân bản" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "Sao chép ảnh" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "Sao chép hình ảnh từ sản phẩm gốc" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "Sao chép BOM" -#: part/serializers.py:407 +#: part/serializers.py:410 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:414 +#: part/serializers.py:417 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:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "Sao chép ghi chú" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "Sao chép ghi chú từ sản phẩm gốc" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "Số liệu tồn kho ban đầu" -#: part/serializers.py:448 +#: part/serializers.py:451 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:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "Vị trí kho ban đầu" -#: part/serializers.py:456 +#: part/serializers.py:459 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:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "Chọn nhà cung cấp (hoặc để trống để bỏ qua)" -#: part/serializers.py:489 +#: part/serializers.py:492 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:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "Mã số nhà sản xuất" -#: part/serializers.py:506 +#: part/serializers.py:509 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:515 +#: part/serializers.py:518 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:526 +#: part/serializers.py:529 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:533 +#: part/serializers.py:536 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:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "Tên danh mục" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "Đang dựng" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "Hàng trong kho" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: 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:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "Nhân bản sản phẩm" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "Sao chép dữ liệu ban đầu từ sản phẩm khác" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "Số liệu kho ban đầu" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "Tạo sản phẩm với số lượng tồn kho ban đầu" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "Thông tin nhà cung cấp" -#: part/serializers.py:956 +#: part/serializers.py:983 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:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "Sao chép thông số nhóm hàng" -#: part/serializers.py:966 +#: part/serializers.py:993 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:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "Ảnh hiện có" -#: part/serializers.py:972 +#: part/serializers.py:999 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:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "Tệp hình ảnh không tồn tại" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "Xác minh toàn bộ hóa đơn vật liệu" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "Có thể dựng" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "Giá thấp nhất" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "Giá trị tính toán ghi đè cho giá tối thiểu" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "Tiền tế giá tối thiểu" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "Giá cao nhất" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "Giá trị tính toán ghi đè cho giá tối đa" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "Tiền tế giá tối đa" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "Cập nhật" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "Cập nhật giá cho sản phẩm này" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, 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:1528 +#: part/serializers.py:1560 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:1531 +#: part/serializers.py:1563 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:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "" -#: part/serializers.py:1927 +#: part/serializers.py:1991 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:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "Xóa dữ liệu đã tồn tại" -#: part/serializers.py:1936 +#: part/serializers.py:2000 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:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "Bao gồm thừa hưởng" -#: part/serializers.py:1942 +#: part/serializers.py:2006 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:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "Bỏ qua dòng không hợp lệ" -#: part/serializers.py:1948 +#: part/serializers.py:2012 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:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "Sao chép sản phẩm thay thế" -#: part/serializers.py:1954 +#: part/serializers.py:2018 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" @@ -8288,7 +8292,7 @@ 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:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "Mục đã cài đặt" @@ -8361,7 +8365,7 @@ msgstr "" msgid "Include sub-locations in filtered results" msgstr "" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "" @@ -8445,7 +8449,7 @@ msgstr "Ngày hết hạn trước đó" msgid "Expiry date after" msgstr "Ngày hết hạn sau đó" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "Ế" @@ -8579,7 +8583,7 @@ msgstr "" msgid "Stock items cannot be located into structural stock locations!" msgstr "Không thể đặt hàng trong kho vào trong địa điểm kho có cấu trúc!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "Không thể tạo hàng hóa trong kho cho sản phẩm ảo" @@ -8624,7 +8628,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:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "Đóng gói hàng hóa này được lưu trữ lại" @@ -8640,7 +8644,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:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "Mã lô cho hàng trong kho này" @@ -8753,7 +8757,7 @@ msgstr "Hàng trong kho hiện đang sản xuất" msgid "Serialized stock cannot be merged" msgstr "Không thể hợp nhất kho nối tiếp" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "Mặt hàng trùng lặp" @@ -8877,7 +8881,7 @@ msgstr "" msgid "Quantity of serial numbers to generate" msgstr "" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "" @@ -8901,222 +8905,222 @@ msgstr "Mục cha" msgid "Parent stock item" msgstr "" -#: stock/serializers.py:451 +#: stock/serializers.py:454 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:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "Điền số sêri cho hàng hóa mới" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "Số hiệu hàng hoá nhà cung cấp" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "Đã hết hạn" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "Mục con" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "" -#: stock/serializers.py:654 +#: stock/serializers.py:668 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:692 +#: stock/serializers.py:706 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:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, 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:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "Vị trí kho đích" -#: stock/serializers.py:746 +#: stock/serializers.py:760 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:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "Số sêri đã tồn tại" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "Chọn mặt hàng để lắp đặt" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "Số lượng để cài đặt" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "Nhập số lượng hàng hóa để cài đặt" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "Thêm ghi chú giao dịch (tùy chọn)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 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:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "Mặt hàng không khả dụng" -#: stock/serializers.py:856 +#: stock/serializers.py:870 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:869 +#: stock/serializers.py:883 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:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "Vị trí đích cho hàng hóa bị gỡ bỏ" -#: stock/serializers.py:942 +#: stock/serializers.py:956 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:955 +#: stock/serializers.py:969 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:972 +#: stock/serializers.py:986 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:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "Mã trạng thái mặt hàng" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "Chọn mặt hàng để đổi trạng thái" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "Không có mặt hàng nào được chọn" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "Kho phụ" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "Sản phẩm phải có thể bán được" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 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:1341 +#: stock/serializers.py:1374 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:1365 +#: stock/serializers.py:1398 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:1371 +#: stock/serializers.py:1404 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:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "Ghi chú phân bổ kho" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 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:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "Ghi chú gộp kho" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "Cho phép nhiều nhà cung không khớp" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 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:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "Cho phép trạng thái không khớp" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 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:1490 +#: stock/serializers.py:1523 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:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "Giá trị khóa chính mặt hàng" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "Ghi chú giao dịch kho" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "" @@ -9598,99 +9602,99 @@ msgstr "Đơn hàng bán" msgid "Return Orders" msgstr "Đơn hàng trả lại" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "Tên người dùng" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "Tên" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "Họ người dùng" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "Họ" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "Tên người dùng" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "Địa chỉ email của người dùng" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "Superuser" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "Người dùng này là superuser" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "Tài khoản người dùng đang hoạt động" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "Tài khoản của bạn đã được tạo." -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "Xin hãy sử dụng chức năng tạo lại mật khẩu để đăng nhập" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "Chào mừng đến với InvenTree" 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 3e427cd149..f81f6a3b19 100644 --- a/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hans/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:40\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Language: zh_CN\n" @@ -104,13 +104,13 @@ msgstr "输入日期" msgid "Invalid decimal value" msgstr "无效的数值" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "备注" @@ -215,7 +215,7 @@ msgstr "提供的 URL 不是一个有效的图片文件" msgid "Log in to the app" msgstr "登录应用程序" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "电子邮件" @@ -336,51 +336,51 @@ msgstr "服务器记录了一个错误。" msgid "Image" msgstr "图像" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "必须是有效数字" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "货币" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "从可用选项中选择货币" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "此字段不能为空。" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "无效值" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "远程图片" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "远程图片文件的 URL" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "未启用从远程 URL下载图片" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "从远程URL下载图像失败" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "无效的内容类型格式" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "未找到内容类型" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "内容类型不匹配所需的 mixin 类" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "包含变体" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "包含变体" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "包含变体" msgid "Part" msgstr "零件" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "类别" @@ -669,16 +669,16 @@ msgstr "排除树" msgid "Build must be cancelled before it can be deleted" msgstr "生产订单必须取消后才能删除" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "耗材" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "可选项" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "装配件" @@ -687,7 +687,7 @@ msgstr "装配件" msgid "Tracked" msgstr "可追溯" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "需检测" @@ -695,24 +695,24 @@ msgstr "需检测" msgid "Order Outstanding" msgstr "未结算订单" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "已分配" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "已消耗" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "已订购" @@ -727,19 +727,19 @@ msgstr "未找到版本" msgid "Build Order" msgstr "生产订单" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "库存位置" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "产出" @@ -783,7 +783,7 @@ msgstr "目标日期必须在开始日期之后" msgid "Build Order Reference" msgstr "生产订单编号" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "销售订单编号" msgid "Sales Order to which this build is allocated" msgstr "该生产订单关联的销售订单" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "源库位" @@ -861,16 +861,16 @@ msgstr "生产状态" msgid "Build status code" msgstr "生产状态代码" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "批号" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "本批产出的批次编号" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "建立日期" @@ -964,7 +964,7 @@ msgstr "生产订单 {build} 已完成" msgid "A build order has been completed" msgstr "生产订单已完成" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "可追溯零件必须填写序列号" @@ -980,23 +980,23 @@ msgstr "产出已完成" msgid "Build output does not match Build Order" msgstr "产出与生产订单不匹配" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "数量必须大于零" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "数量不能大于产出数量" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "产出未通过所有必要测试" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "产出 {serial} 未通过所有必要测试" @@ -1017,10 +1017,10 @@ msgstr "生产订单行项目" msgid "Build object" msgstr "生产对象" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "生产对象" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "分配数量 ({q}) 不得超过可用库存数量 ({a})" msgid "Stock item is over-allocated" msgstr "库存品项超额分配" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "库存项" @@ -1099,378 +1099,378 @@ msgstr "目标库存项" msgid "Build Level" msgstr "生产等级" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "零件名称" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "产出" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "生产产出与上级订单不匹配" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "产出零件与生产订单零件不匹配" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "此产出已经完成" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "此产出尚未完全分配" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "输入产出数量" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "可追踪的零件数量必须为整数" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "因为物料清单包含可追踪的零件,所以数量必须为整数" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "序列号" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "输入产出的序列号" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "生产产出的库存地点" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "自动分配序列号" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "自动为所需项目分配对应的序列号" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "以下序列号已存在或无效" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "必须提供产出清单" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "报废品库存地点" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "放弃分配" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "取消对报废产品的库存分配" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "废品产出的原因" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "完工产出存放库位" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "接受不完整的分配" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "如果库存尚未全部分配,则完成产出" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "消耗已分配库存" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "立即扣除已分配给该生产任务的库存" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "移除未完成的产出" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "删除所有未完成的产出" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "禁止操作" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "标记为当前生产订单消耗" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "完成此生产订单前取消分配" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "超额分配库存" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "如何处理分配给生产订单的超额库存" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "存在超额分配的库存项" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "接受未分配" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "接受库存项未被完全分配至生产订单" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "必需库存未完成全量分配" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "接受未完工" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "允许所需数量的产出未完成" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "生产需求数量未完成" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "生产订单有打开的子生产订单" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "生产订单必须处于生产状态" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "生产订单有未完成的产出" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "生产行" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "产出" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "生产产出必须指向相同的生产" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "生产行项目" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必须与生产订单零件相同" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "项目必须在库存中" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出限制" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "对于被追踪的零件的分配,必须指定生产产出" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "对于未被追踪的零件,无法指定生产产出" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "必须提供分配项目" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "零件来源的库存地点(留空则可来源于任何库存地点)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "排除位置" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "从该选定的库存地点排除库存项" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "可互换库存" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "在多个位置的库存项目可以互换使用" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "替代品库存" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "允许分配可替换的零件" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "可选项目" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "分配可选的物料清单给生产订单" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "所有物料" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "未跟踪的物品" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "已跟踪的物品" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "物品类型" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "选择要自动分配的条目类型" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "物料清单参考" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "物料清单零件识别号码" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "物料清单零件名称" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "安裝到" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "生产" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "供应商零件" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "已分配数量" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "生产订单编号" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "零件类别名称" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "可追踪" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "已继承的" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "允许变体" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "物料清单项" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "生产中" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "生产计划" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "外部库存" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "可用库存" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "可用的替代品库存" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "可用的变体库存" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "消耗数量超过分配数量" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "库存消耗可选备注" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "生产物料项必须关联到正确的生产订单" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "重复的生产物料项分配" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "订单行项目必须关联到正确的生产订单" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "重复的订单行项目分配" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "必须提供至少一个物料项或行项目" @@ -1494,7 +1494,7 @@ msgstr "已暂停" msgid "Cancelled" msgstr "已取消" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "逾期的生产订单" msgid "Build order {bo} is now overdue" msgstr "生产订单 {bo} 现已逾期" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "是否链接" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "是否为文件" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "用户没有权限删除此附件" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "用户没有权限删除此附件" @@ -1550,7 +1550,7 @@ msgstr "未提供有效的货币代码" msgid "No plugin" msgstr "暂无插件" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "项目编号标签" @@ -1628,7 +1628,7 @@ msgstr "使用者" msgid "Price break quantity" msgstr "批发价数量" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "价格" @@ -1652,7 +1652,7 @@ msgstr "此网络钩子的名称" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "激活" @@ -2126,7 +2126,7 @@ msgstr "参数" msgid "Invalid choice for parameter value" msgstr "无效的参数值选择" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "为附件指定的模型类型无效" @@ -2140,7 +2140,7 @@ msgstr "此参数的目标模型的 ID" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "模板" @@ -2148,7 +2148,7 @@ msgstr "模板" msgid "Parameter template" msgstr "参数模板" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "数据" @@ -2156,18 +2156,18 @@ msgstr "数据" msgid "Parameter Value" msgstr "参数值" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "备注" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "可选注释字段" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "文件名" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "模型类型" @@ -2465,11 +2465,11 @@ msgstr "模型类型" msgid "User does not have permission to create or edit attachments for this model" msgstr "用户无权为此模式创建或编辑附件" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "用户没有权限为此模型创建或编辑参数" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "选择列表已锁定" @@ -2859,8 +2859,8 @@ msgstr "零件默认为模板" msgid "Parts can be assembled from other components by default" msgstr "默认情况下,元件可由其他零件组装而成" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "组件" @@ -3990,33 +3990,33 @@ msgstr "零件已激活" msgid "Manufacturer is Active" msgstr "制造商处于活动状态" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "供应商零件处于激活状态" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "主供应商部件" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "内部零件已激活" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "供应商已激活" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "制造商" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "公司" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "有库存" @@ -4197,7 +4197,7 @@ msgstr "内部使用的装运通知单" msgid "Link to address information (external)" msgstr "链接地址信息 (外部)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "制造商零件" @@ -4215,12 +4215,12 @@ msgstr "选择零件" msgid "Select manufacturer" msgstr "选择制造商" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "制造商零件编号" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "制造商零件编号" @@ -4244,8 +4244,8 @@ msgstr "包装单位必须大于零" msgid "Linked manufacturer part must reference the same base part" msgstr "链接的制造商零件必须引用相同的基础零件" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4256,7 +4256,7 @@ msgstr "供应商" msgid "Select supplier" msgstr "选择供应商" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "供应商库存管理单位" @@ -4292,8 +4292,8 @@ msgstr "基本费用" msgid "Minimum charge (e.g. stocking fee)" msgstr "最低费用(例如库存费)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "打包" @@ -4341,14 +4341,18 @@ msgstr "此供应商使用的默认货币" msgid "Company Name" msgstr "公司名称" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "有库存" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "批发价" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "数据导出过程中发生错误" @@ -4453,67 +4457,67 @@ msgstr "ID" msgid "Existing database identifier for the record" msgstr "记录的现有数据库标识符" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "列已映射到数据库字段" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "字段已映射到数据列" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "列映射必须链接到有效的导入会话" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "数据文件中不存在列" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "目标模型中不存在字段" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "所选字段为只读" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "导入会话" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "字段" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "列" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "行索引" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "原始行数据" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "错误" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "有效" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "更新现有记录需要提供ID。" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "没有找到与提供的ID相关的记录" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "提供的ID格式无效" @@ -4823,7 +4827,7 @@ msgstr "订单" msgid "Order Complete" msgstr "订单完成" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "内部零件" @@ -4920,7 +4924,7 @@ msgstr "开始日期" msgid "Scheduled start date for this order" msgstr "本订单的预定开始日期" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "预计日期" @@ -4958,7 +4962,7 @@ msgid "Order reference" msgstr "订单参考" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "狀態" @@ -5015,7 +5019,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "序列号不能分配给虚拟件" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5141,7 +5145,7 @@ msgstr "已接收" msgid "Number of items received" msgstr "收到的物品数量" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "采购价格" @@ -5213,8 +5217,8 @@ msgstr "审核人" msgid "User who checked this shipment" msgstr "检查此装运的用户" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "配送" @@ -5279,7 +5283,7 @@ msgstr "分配数量不能超过库存数量" msgid "Allocation quantity must be greater than zero" msgstr "分配的数量必须大于零" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "序列化库存项目的数量必须为1" @@ -5395,7 +5399,7 @@ msgstr "复制额外行" msgid "Copy extra line items from the original order" msgstr "从原始订单复制额外的行项目" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "复制参数" @@ -5414,216 +5418,216 @@ msgstr "行项目" msgid "Completed Lines" msgstr "已完成行项目" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "复制订单" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "指定复制此订单的选项" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "订单ID不正确" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "供应商名称" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "订单不能取消" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "允许关闭行项目不完整的订单" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "订单中的行项目不完整" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "订单未打开" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "自动定价" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "根据供应商零件数据自动计算采购价格" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "购买价格货币" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "合并项目" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "将具有相同零件、目的地和目标日期的项目合并到一个行项目中" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "库存量单位" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "内部零件编号" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "内部零件名称" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "必须指定供应商零件" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "必须指定采购订单" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "供应商必须匹配采购订单" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "采购订单必须与供应商匹配" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "行项目" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "为收到的物品选择目的地位置" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "输入入库项目的批号" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "有效期至" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "输入入库库存项的有效期" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "输入入库库存项目的序列号" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "覆盖传入库存项目的包装资料" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "传入库存项目的附加说明" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "条形码" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "扫描条形码" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "条形码已被使用" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "必须提供行项目" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "必须指定目标位置" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "提供的条形码值必须是唯一的" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "配送" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "完成配送" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "已分配的行" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "售出价格货币" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "已分配的项目" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "未提供装运详细信息" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "行项目与此订单不关联" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "数量必须为正" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "输入要分配的序列号" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "货物已发出" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "发货与此订单无关" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "未找到以下序列号的匹配项" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "以下序列号不可用" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "退货订单行项目" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "行项目与退货订单不匹配" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "行项目已收到" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "只能根据正在进行的订单接收物品" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "退货数量" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "行价格货币" @@ -5839,7 +5843,7 @@ msgstr "此类别零件的默认关键字" msgid "Icon" msgstr "图标" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "图标(可选)" @@ -5860,7 +5864,7 @@ msgstr "默认值" msgid "Default Parameter Value" msgstr "默认参数值" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "零件" @@ -5975,7 +5979,7 @@ msgstr "提高搜索结果可见性的零件关键字" msgid "Part category" msgstr "零件类别" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "内部零件号 IPN" @@ -6008,7 +6012,7 @@ msgstr "默认到期" msgid "Expiry time (in days) for stock items of this part" msgstr "此零件库存项的过期时间 (天)" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "最低库存" @@ -6489,355 +6493,355 @@ msgstr "零件关系不能在零件和自身之间创建" msgid "Duplicate relationship already exists" msgstr "复制关系已经存在" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "上级类别" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "上级零件类别" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "子类别" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "结果" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "根据该模板记录的结果数量" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "购买此库存项的货币" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "文件不是一个图片" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "原始零件" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "选择要复制的原始零件" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "复制图片" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "从原零件复制图片" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "复制物料清单" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "从原始零件复制材料清单" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "从原始零件复制参数数据" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "复制备注" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "从原始零件复制备注" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "复制测试" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "从原始零件复制测试模板" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "初始化库存数量" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "指定此零件的初始库存数量。如果数量为零,则不添加任何库存。" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "初始化库存地点" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "初始化指定此零件的库存地点" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "选择供应商(或为空以跳过)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "选择制造商(或为空)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "制造商零件号" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "所选公司不是一个有效的供应商" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "所选公司不是一个有效的制造商" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "与此制造商零件编号 (MPN) 的相匹配的制造商零件已存在" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "匹配此库存单位 (SKU) 的供应商零件已存在" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "类别名称" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "正在生产" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "目前正在生产的零件数量" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "此零件计划待产数量" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "库存项" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "修订" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "库存总量" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "未分配的库存" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "变体库存" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "重复零件" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "从另一个零件复制初始数据" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "初始库存" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "创建具有初始库存数量的零件" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "供应商信息" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "添加此零件的初始供应商信息" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "复制类别参数" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "从选择的零件复制参数模版" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "现有的图片" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "现有零件图片的文件名" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "图片不存在" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "验证整个物料清单" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "可以创建" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "生产订单必填项" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "分配到生产订单" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "销售订单必填项" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "分配到销售订单" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "内部零件号" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "零件描述" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "选择一个物料,以生成该物料(及其所有变型物料)的盘点信息" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "选择一个分类,以包含该分类(及其子分类)下的所有物料" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "选择一个库位,以包含该库位(含子库位)中有库存的所有物料" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "生成盘点条目" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "保存所选物料的盘点条目" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "生成报告" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "为所选物料生成盘点报告" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "最低价格" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "覆盖已计算的最低价格值" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "最低价格货币" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "最高价格" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "覆盖已计算的最高价格值" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "最高价格货币" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "更新" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "更新这个零件的价格" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "无法将所提供的货币转换为 {default_currency}" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "最低价格不能高于最高价格。" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "最高价格不能低于最低价格" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "数量必须大于或等于零" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "选择父装配" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "选择零部件" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "选择要复制物料清单的零件" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "移除现有数据" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "复制前删除现有的物料清单项目" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "包含继承的" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "包含从模板零件继承的物料清单项目" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "跳过无效行" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "启用此选项以跳过无效行" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "复制替代品零件" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "复制物料清单项目时复制替代品零件" @@ -8290,7 +8294,7 @@ msgstr "库存项测试报告" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "已安装的项目" @@ -8363,7 +8367,7 @@ msgstr "按顶级位置筛选" msgid "Include sub-locations in filtered results" msgstr "在筛选结果中包含子地点" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "上级地点" @@ -8447,7 +8451,7 @@ msgstr "过期日期前" msgid "Expiry date after" msgstr "过期日期后" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "过期" @@ -8581,7 +8585,7 @@ msgstr "必须指定零件" msgid "Stock items cannot be located into structural stock locations!" msgstr "库存项不能存放在结构性库存地点!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "无法为虚拟零件创建库存项" @@ -8626,7 +8630,7 @@ msgstr "为此库存项目选择匹配的供应商零件" msgid "Where is this stock item located?" msgstr "这个库存物品在哪里?" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "包装此库存物品存储在" @@ -8642,7 +8646,7 @@ msgstr "此项目是否安装在另一个项目中?" msgid "Serial number for this item" msgstr "此项目的序列号" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "此库存项的批号" @@ -8755,7 +8759,7 @@ msgstr "库存项目前正在生产" msgid "Serialized stock cannot be merged" msgstr "序列化的库存不能合并" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "复制库存项" @@ -8879,7 +8883,7 @@ msgstr "选择要生成序列号的零件" msgid "Quantity of serial numbers to generate" msgstr "要生成的序列号的数量" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "此结果的测试模板" @@ -8903,222 +8907,222 @@ msgstr "父项" msgid "Parent stock item" msgstr "父库存项" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "添加时使用包装尺寸:定义的数量是包装的数量" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "包装规格" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "输入新项目的序列号" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "供应商零件编号" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "已过期" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "子项目" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "跟踪项目" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "此库存商品的购买价格,单位或包装" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "输入要序列化的库存项目数量" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "未提供库存项" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "数量不得超过现有库存量 ({q})" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "目标库存位置" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "此零件不能分配序列号" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "序列号已存在" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "选择要安装的库存项目" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "安装数量" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "输入要安装的项目数量" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "添加交易记录 (可选)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "安装数量必须至少为1" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "库存项不可用" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "所选零件不在物料清单中" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "安装数量不得超过可用数量" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "已卸载项目的目标位置" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "选择要将库存项目转换为的零件" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "所选零件不是有效的转换选项" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "无法转换已分配供应商零件的库存项" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "库存项状态代码" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "选择要更改状态的库存项目" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "未选择库存商品" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "子位置" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "上级库存地点" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "零件必须可销售" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "物料已分配到销售订单" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "项目被分配到生产订单中" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "客户分配库存项目" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "所选公司不是客户" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "库存分配说明" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "必须提供库存物品清单" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "库存合并说明" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "允许不匹配的供应商" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "允许合并具有不同供应商零件的库存项目" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "允许不匹配的状态" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "允许合并具有不同状态代码的库存项目" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "必须提供至少两件库存物品" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "无更改" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "库存项主键值" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "库存项无现货" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "库存项已有现货" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "数量不得为负" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "库存交易记录" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "合并至现有库存" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "若可行,将退回项目合并至现有库存项" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "下一个序列号" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "上一个序列号" @@ -9600,99 +9604,99 @@ msgstr "销售订单" msgid "Return Orders" msgstr "退货订单" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "用户名" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "名" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "用户的名字(不包括姓氏)" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "姓" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "用户的姓氏" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "用户的电子邮件地址" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "用户必须经过身份验证" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "只有超级用户可以为另一个用户创建令牌" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "管理员" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "该用户是否拥有管理员权限" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "超级用户" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "此用户是否为超级用户" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "此用户帐户是否已激活" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "只有超级用户可以调整此字段" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "密码" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "用户密码" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "覆盖警告" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "覆盖有关密码规则的警告" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "管理员" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "该用户是否拥有管理员权限" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "你没有权限创建用户" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "您的账户已创建。" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "请使用密码重置功能登录" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "欢迎使用 InvenTree" 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 cc556a25be..e922a94d44 100644 --- a/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po +++ b/src/backend/InvenTree/locale/zh_Hant/LC_MESSAGES/django.po @@ -2,8 +2,8 @@ msgid "" msgstr "" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-04-11 07:38+0000\n" -"PO-Revision-Date: 2026-04-11 07:40\n" +"POT-Creation-Date: 2026-04-13 00:32+0000\n" +"PO-Revision-Date: 2026-04-13 00:35\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Language: zh_TW\n" @@ -104,13 +104,13 @@ msgstr "輸入日期" msgid "Invalid decimal value" msgstr "無效的十進位數值" -#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:497 -#: build/serializers.py:568 build/serializers.py:1765 company/models.py:827 +#: InvenTree/fields.py:218 InvenTree/models.py:1233 build/serializers.py:504 +#: build/serializers.py:575 build/serializers.py:1788 company/models.py:827 #: order/models.py:1828 #: report/templates/report/inventree_build_order_report.html:172 -#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:732 -#: stock/serializers.py:908 stock/serializers.py:1050 stock/serializers.py:1378 -#: stock/serializers.py:1467 stock/serializers.py:1666 +#: stock/models.py:2954 stock/models.py:3078 stock/serializers.py:746 +#: stock/serializers.py:922 stock/serializers.py:1064 stock/serializers.py:1411 +#: stock/serializers.py:1500 stock/serializers.py:1699 msgid "Notes" msgstr "備註" @@ -215,7 +215,7 @@ msgstr "提供的 URL 不是一個有效的圖片文件" msgid "Log in to the app" msgstr "登入此應用程式" -#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:201 +#: InvenTree/magic_login.py:41 company/models.py:175 users/serializers.py:197 msgid "Email" msgstr "電子郵件" @@ -336,51 +336,51 @@ msgstr "伺服器紀錄了一個錯誤。" msgid "Image" msgstr "圖像" -#: InvenTree/serializers.py:324 part/models.py:4168 +#: InvenTree/serializers.py:361 part/models.py:4168 msgid "Must be a valid number" msgstr "必須是有效的數字" -#: InvenTree/serializers.py:366 company/models.py:217 part/models.py:3307 +#: InvenTree/serializers.py:403 company/models.py:217 part/models.py:3307 msgid "Currency" msgstr "貨幣" -#: InvenTree/serializers.py:369 part/serializers.py:1355 +#: InvenTree/serializers.py:406 part/serializers.py:1387 msgid "Select currency from available options" msgstr "從可用選項中選擇貨幣" -#: InvenTree/serializers.py:719 +#: InvenTree/serializers.py:756 msgid "This field may not be null." msgstr "此欄位不可為空白。" -#: InvenTree/serializers.py:725 +#: InvenTree/serializers.py:762 msgid "Invalid value" msgstr "無效值" -#: InvenTree/serializers.py:762 +#: InvenTree/serializers.py:799 msgid "Remote Image" msgstr "遠程圖片" -#: InvenTree/serializers.py:763 +#: InvenTree/serializers.py:800 msgid "URL of remote image file" msgstr "遠程圖片文件的 URL" -#: InvenTree/serializers.py:781 +#: InvenTree/serializers.py:818 msgid "Downloading images from remote URL is not enabled" msgstr "未啓用從遠程 URL下載圖片" -#: InvenTree/serializers.py:788 +#: InvenTree/serializers.py:825 msgid "Failed to download image from remote URL" msgstr "從遠程URL下載圖像失敗" -#: InvenTree/serializers.py:871 +#: InvenTree/serializers.py:908 msgid "Invalid content type format" msgstr "不合規的內容類型格式" -#: InvenTree/serializers.py:874 +#: InvenTree/serializers.py:911 msgid "Content type not found" msgstr "內容類型未發現" -#: InvenTree/serializers.py:880 +#: InvenTree/serializers.py:917 msgid "Content type does not match required mixin class" msgstr "內容類型與所需的 mixin 類別不符" @@ -567,15 +567,15 @@ msgid "Include Variants" msgstr "包含變體" #: build/api.py:101 build/api.py:461 build/api.py:918 build/models.py:283 -#: build/serializers.py:1205 build/serializers.py:1376 -#: build/serializers.py:1462 company/models.py:1037 company/serializers.py:435 +#: build/serializers.py:1213 build/serializers.py:1389 +#: build/serializers.py:1482 company/models.py:1037 company/serializers.py:447 #: order/api.py:309 order/api.py:313 order/api.py:940 order/api.py:1198 #: order/api.py:1201 order/models.py:1991 order/models.py:2159 #: order/models.py:2160 part/api.py:1132 part/api.py:1135 part/api.py:1348 #: part/models.py:527 part/models.py:3318 part/models.py:3461 #: part/models.py:3519 part/models.py:3540 part/models.py:3562 #: part/models.py:3703 part/models.py:3965 part/models.py:4384 -#: part/serializers.py:1304 part/serializers.py:1926 +#: part/serializers.py:1336 part/serializers.py:1990 #: 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 @@ -585,8 +585,8 @@ msgstr "包含變體" #: report/templates/report/inventree_sales_order_shipment_report.html:28 #: report/templates/report/inventree_stock_location_report.html:102 #: stock/api.py:585 stock/api.py:1529 stock/serializers.py:120 -#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:602 -#: stock/serializers.py:941 templates/email/build_order_completed.html:17 +#: stock/serializers.py:172 stock/serializers.py:419 stock/serializers.py:607 +#: stock/serializers.py:955 templates/email/build_order_completed.html:17 #: templates/email/build_order_required_stock.html:17 #: templates/email/low_stock_notification.html:15 #: templates/email/overdue_build_order.html:16 @@ -595,9 +595,9 @@ msgstr "包含變體" msgid "Part" msgstr "零件" -#: build/api.py:121 build/api.py:124 build/serializers.py:1475 part/api.py:967 +#: build/api.py:121 build/api.py:124 build/serializers.py:1496 part/api.py:967 #: part/api.py:1359 part/models.py:412 part/models.py:1142 part/models.py:3590 -#: part/serializers.py:1314 part/serializers.py:1742 stock/api.py:868 +#: part/serializers.py:1346 part/serializers.py:1783 stock/api.py:868 msgid "Category" msgstr "類別" @@ -669,16 +669,16 @@ msgstr "排除樹" msgid "Build must be cancelled before it can be deleted" msgstr "工單必須被取消才能被刪除" -#: build/api.py:444 build/serializers.py:1406 part/models.py:3999 +#: build/api.py:444 build/serializers.py:1423 part/models.py:3999 msgid "Consumable" msgstr "耗材" -#: build/api.py:447 build/serializers.py:1409 part/models.py:3993 +#: build/api.py:447 build/serializers.py:1426 part/models.py:3993 msgid "Optional" msgstr "非必須項目" -#: build/api.py:450 build/serializers.py:1449 common/setting/system.py:483 -#: part/models.py:1247 part/serializers.py:1696 part/serializers.py:1715 +#: build/api.py:450 build/serializers.py:1468 common/setting/system.py:483 +#: part/models.py:1247 part/serializers.py:1728 part/serializers.py:1754 #: stock/api.py:638 msgid "Assembly" msgstr "裝配" @@ -687,7 +687,7 @@ msgstr "裝配" msgid "Tracked" msgstr "追蹤中" -#: build/api.py:456 build/serializers.py:1412 part/models.py:1265 +#: build/api.py:456 build/serializers.py:1429 part/models.py:1265 msgid "Testable" msgstr "可測試" @@ -695,24 +695,24 @@ msgstr "可測試" msgid "Order Outstanding" msgstr "訂單未完成" -#: build/api.py:476 build/serializers.py:1502 order/api.py:963 +#: build/api.py:476 build/serializers.py:1525 order/api.py:963 msgid "Allocated" msgstr "已分配" -#: build/api.py:485 build/models.py:1786 build/serializers.py:1425 +#: build/api.py:485 build/models.py:1786 build/serializers.py:1442 msgid "Consumed" msgstr "已消耗" -#: build/api.py:494 company/models.py:882 company/serializers.py:414 +#: build/api.py:494 company/models.py:882 company/serializers.py:424 #: 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:518 build/serializers.py:1504 company/serializers.py:411 -#: order/serializers.py:1284 part/serializers.py:849 part/serializers.py:1170 -#: part/serializers.py:1751 +#: build/api.py:518 build/serializers.py:1527 company/serializers.py:421 +#: order/serializers.py:1343 part/serializers.py:861 part/serializers.py:1197 +#: part/serializers.py:1792 msgid "On Order" msgstr "已訂購" @@ -727,19 +727,19 @@ msgstr "" msgid "Build Order" msgstr "生產工單" -#: build/api.py:955 build/api.py:959 build/serializers.py:360 -#: build/serializers.py:485 build/serializers.py:555 build/serializers.py:1253 -#: build/serializers.py:1258 order/api.py:1245 order/api.py:1250 -#: order/serializers.py:804 order/serializers.py:944 order/serializers.py:2031 -#: part/serializers.py:1324 stock/api.py:986 stock/serializers.py:111 -#: stock/serializers.py:609 stock/serializers.py:725 stock/serializers.py:903 -#: stock/serializers.py:1460 stock/serializers.py:1781 -#: stock/serializers.py:1830 templates/email/stale_stock_notification.html:18 +#: build/api.py:955 build/api.py:959 build/serializers.py:367 +#: build/serializers.py:492 build/serializers.py:562 build/serializers.py:1263 +#: build/serializers.py:1269 order/api.py:1245 order/api.py:1250 +#: order/serializers.py:845 order/serializers.py:985 order/serializers.py:2139 +#: part/serializers.py:1356 stock/api.py:986 stock/serializers.py:111 +#: stock/serializers.py:619 stock/serializers.py:739 stock/serializers.py:917 +#: stock/serializers.py:1493 stock/serializers.py:1814 +#: stock/serializers.py:1863 templates/email/stale_stock_notification.html:18 #: users/models.py:549 msgid "Location" msgstr "地點" -#: build/api.py:967 part/serializers.py:1349 +#: build/api.py:967 part/serializers.py:1381 msgid "Output" msgstr "產出" @@ -783,7 +783,7 @@ msgstr "目標日期必須晚於開始日期" msgid "Build Order Reference" msgstr "生產工單代號" -#: build/models.py:259 build/serializers.py:1403 order/models.py:641 +#: build/models.py:259 build/serializers.py:1420 order/models.py:641 #: order/models.py:1350 order/models.py:1821 order/models.py:2764 #: part/models.py:4039 #: report/templates/report/inventree_bill_of_materials_report.html:139 @@ -813,7 +813,7 @@ msgstr "銷售訂單代號" msgid "Sales Order to which this build is allocated" msgstr "" -#: build/models.py:302 build/serializers.py:1085 +#: build/models.py:302 build/serializers.py:1092 msgid "Source Location" msgstr "來源倉儲地點" @@ -861,16 +861,16 @@ msgstr "生產狀態" msgid "Build status code" msgstr "生產狀態代碼" -#: build/models.py:356 build/serializers.py:347 order/serializers.py:820 -#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1633 +#: build/models.py:356 build/serializers.py:354 order/serializers.py:861 +#: stock/models.py:1107 stock/serializers.py:85 stock/serializers.py:1666 msgid "Batch Code" msgstr "批號" -#: build/models.py:360 build/serializers.py:348 +#: build/models.py:360 build/serializers.py:355 msgid "Batch code for this build output" msgstr "此產出的批號" -#: build/models.py:364 order/models.py:484 order/serializers.py:166 +#: build/models.py:364 order/models.py:484 order/serializers.py:178 #: part/models.py:1328 msgid "Creation Date" msgstr "建立日期" @@ -964,7 +964,7 @@ msgstr "生產工單 {build} 已經完成" msgid "A build order has been completed" msgstr "一張生產工單已經完成" -#: build/models.py:924 build/serializers.py:395 +#: build/models.py:924 build/serializers.py:402 msgid "Serial numbers must be provided for trackable parts" msgstr "對於可跟蹤的零件,必須提供序列號" @@ -980,23 +980,23 @@ msgstr "產出已完成" msgid "Build output does not match Build Order" msgstr "產出與生產訂單不匹配" -#: build/models.py:1110 build/models.py:1216 build/serializers.py:273 -#: build/serializers.py:323 build/serializers.py:953 build/serializers.py:1716 -#: order/models.py:744 order/serializers.py:615 order/serializers.py:815 -#: part/serializers.py:1689 stock/models.py:947 stock/models.py:1437 -#: stock/models.py:1902 stock/serializers.py:703 stock/serializers.py:1622 +#: build/models.py:1110 build/models.py:1216 build/serializers.py:280 +#: build/serializers.py:330 build/serializers.py:960 build/serializers.py:1739 +#: order/models.py:744 order/serializers.py:631 order/serializers.py:856 +#: part/serializers.py:1721 stock/models.py:947 stock/models.py:1437 +#: stock/models.py:1902 stock/serializers.py:717 stock/serializers.py:1655 msgid "Quantity must be greater than zero" msgstr "數量必須大於零" -#: build/models.py:1114 build/models.py:1221 build/serializers.py:278 +#: build/models.py:1114 build/models.py:1221 build/serializers.py:285 msgid "Quantity cannot be greater than the output quantity" msgstr "數量不能大於輸出數量" -#: build/models.py:1189 build/serializers.py:594 +#: build/models.py:1189 build/serializers.py:601 msgid "Build output has not passed all required tests" msgstr "此產出尚未通過所有必要測試" -#: build/models.py:1192 build/serializers.py:589 +#: build/models.py:1192 build/serializers.py:596 #, python-brace-format msgid "Build output {serial} has not passed all required tests" msgstr "產出 {serial} 未通過所有必要測試" @@ -1017,10 +1017,10 @@ msgstr "生產訂單行項目" msgid "Build object" msgstr "生產對象" -#: build/models.py:1777 build/models.py:2102 build/serializers.py:259 -#: build/serializers.py:308 build/serializers.py:1424 common/models.py:1368 -#: order/models.py:1795 order/models.py:2647 order/serializers.py:1683 -#: order/serializers.py:2120 part/models.py:3475 part/models.py:3987 +#: build/models.py:1777 build/models.py:2102 build/serializers.py:266 +#: build/serializers.py:315 build/serializers.py:1441 common/models.py:1368 +#: order/models.py:1795 order/models.py:2647 order/serializers.py:1783 +#: order/serializers.py:2232 part/models.py:3475 part/models.py:3987 #: report/templates/report/inventree_bill_of_materials_report.html:138 #: report/templates/report/inventree_build_order_report.html:113 #: report/templates/report/inventree_purchase_order_report.html:36 @@ -1032,7 +1032,7 @@ msgstr "生產對象" #: 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:136 stock/serializers.py:180 stock/serializers.py:691 +#: stock/serializers.py:136 stock/serializers.py:180 stock/serializers.py:705 #: templates/email/build_order_completed.html:18 #: templates/email/stale_stock_notification.html:19 msgid "Quantity" @@ -1071,11 +1071,11 @@ msgstr "分配的數量({q})不能超過可用的庫存數量({a})" msgid "Stock item is over-allocated" msgstr "庫存品項超額分配" -#: build/models.py:2092 build/serializers.py:936 build/serializers.py:1221 -#: order/serializers.py:1520 order/serializers.py:1541 +#: build/models.py:2092 build/serializers.py:943 build/serializers.py:1230 +#: order/serializers.py:1620 order/serializers.py:1641 #: report/templates/report/inventree_sales_order_shipment_report.html:29 #: stock/api.py:1417 stock/models.py:445 stock/serializers.py:102 -#: stock/serializers.py:815 stock/serializers.py:1316 stock/serializers.py:1428 +#: stock/serializers.py:829 stock/serializers.py:1349 stock/serializers.py:1461 msgid "Stock Item" msgstr "庫存品項" @@ -1099,378 +1099,378 @@ msgstr "目的庫存品項" msgid "Build Level" msgstr "構建等級" -#: build/serializers.py:128 part/serializers.py:1256 +#: build/serializers.py:129 part/serializers.py:1283 msgid "Part Name" msgstr "零件名稱" -#: build/serializers.py:207 build/serializers.py:962 +#: build/serializers.py:214 build/serializers.py:969 msgid "Build Output" msgstr "產出" -#: build/serializers.py:219 +#: build/serializers.py:226 msgid "Build output does not match the parent build" msgstr "產出與之前的生產不匹配" -#: build/serializers.py:223 +#: build/serializers.py:230 msgid "Output part does not match BuildOrder part" msgstr "產出零件與生產訂單零件不匹配" -#: build/serializers.py:227 +#: build/serializers.py:234 msgid "This build output has already been completed" msgstr "此產出已經完成" -#: build/serializers.py:241 +#: build/serializers.py:248 msgid "This build output is not fully allocated" msgstr "此產出尚未完全分配" -#: build/serializers.py:260 build/serializers.py:309 +#: build/serializers.py:267 build/serializers.py:316 msgid "Enter quantity for build output" msgstr "輸入產出數量" -#: build/serializers.py:331 +#: build/serializers.py:338 msgid "Integer quantity required for trackable parts" msgstr "可追蹤的零件數量必須為整數" -#: build/serializers.py:337 +#: build/serializers.py:344 msgid "Integer quantity required, as the bill of materials contains trackable parts" msgstr "因為BOM包含可追蹤的零件,所以數量必須為整數" -#: build/serializers.py:354 order/serializers.py:836 order/serializers.py:1687 -#: stock/serializers.py:714 +#: build/serializers.py:361 order/serializers.py:877 order/serializers.py:1787 +#: stock/serializers.py:728 msgid "Serial Numbers" msgstr "序號" -#: build/serializers.py:355 +#: build/serializers.py:362 msgid "Enter serial numbers for build outputs" msgstr "輸出產出的序列號" -#: build/serializers.py:361 +#: build/serializers.py:368 msgid "Stock location for build output" msgstr "生產輸出的庫存地點" -#: build/serializers.py:376 +#: build/serializers.py:383 msgid "Auto Allocate Serial Numbers" msgstr "自動分配序號" -#: build/serializers.py:378 +#: build/serializers.py:385 msgid "Automatically allocate required items with matching serial numbers" msgstr "自動為需要項目分配對應的序號" -#: build/serializers.py:411 order/serializers.py:922 stock/api.py:1186 +#: build/serializers.py:418 order/serializers.py:963 stock/api.py:1186 #: stock/models.py:1925 msgid "The following serial numbers already exist or are invalid" msgstr "序號已存在或無效" -#: build/serializers.py:453 build/serializers.py:509 build/serializers.py:601 +#: build/serializers.py:460 build/serializers.py:516 build/serializers.py:608 msgid "A list of build outputs must be provided" msgstr "必須提供產出清單" -#: build/serializers.py:486 +#: build/serializers.py:493 msgid "Stock location for scrapped outputs" msgstr "廢品產出的庫存位置" -#: build/serializers.py:492 +#: build/serializers.py:499 msgid "Discard Allocations" msgstr "放棄分配" -#: build/serializers.py:493 +#: build/serializers.py:500 msgid "Discard any stock allocations for scrapped outputs" msgstr "取消對廢品產出的任何庫存分配" -#: build/serializers.py:498 +#: build/serializers.py:505 msgid "Reason for scrapping build output(s)" msgstr "廢品產出的原因" -#: build/serializers.py:556 +#: build/serializers.py:563 msgid "Location for completed build outputs" msgstr "已完成刪除的庫存地點" -#: build/serializers.py:564 +#: build/serializers.py:571 msgid "Accept Incomplete Allocation" msgstr "接受不完整的分配" -#: build/serializers.py:565 +#: build/serializers.py:572 msgid "Complete outputs if stock has not been fully allocated" msgstr "如果庫存尚未全部分配,則完成產出" -#: build/serializers.py:690 +#: build/serializers.py:697 msgid "Consume Allocated Stock" msgstr "消費已分配的庫存" -#: build/serializers.py:691 +#: build/serializers.py:698 msgid "Consume any stock which has already been allocated to this build" msgstr "消耗已分配給此生產的任何庫存" -#: build/serializers.py:697 +#: build/serializers.py:704 msgid "Remove Incomplete Outputs" msgstr "移除未完成的產出" -#: build/serializers.py:698 +#: build/serializers.py:705 msgid "Delete any build outputs which have not been completed" msgstr "刪除所有未完成的產出" -#: build/serializers.py:725 +#: build/serializers.py:732 msgid "Not permitted" msgstr "不允許" -#: build/serializers.py:726 +#: build/serializers.py:733 msgid "Accept as consumed by this build order" msgstr "接受作為此生產訂單的消費" -#: build/serializers.py:727 +#: build/serializers.py:734 msgid "Deallocate before completing this build order" msgstr "完成此生產訂單前取消分配" -#: build/serializers.py:754 +#: build/serializers.py:761 msgid "Overallocated Stock" msgstr "超出分配的庫存" -#: build/serializers.py:757 +#: build/serializers.py:764 msgid "How do you want to handle extra stock items assigned to the build order" msgstr "如何處理分配給生產訂單的額外庫存項" -#: build/serializers.py:768 +#: build/serializers.py:775 msgid "Some stock items have been overallocated" msgstr "有庫存項目已被過度分配" -#: build/serializers.py:773 +#: build/serializers.py:780 msgid "Accept Unallocated" msgstr "接受未分配" -#: build/serializers.py:775 +#: build/serializers.py:782 msgid "Accept that stock items have not been fully allocated to this build order" msgstr "接受庫存項未被完全分配至生產訂單" -#: build/serializers.py:786 +#: build/serializers.py:793 msgid "Required stock has not been fully allocated" msgstr "所需庫存尚未完全分配" -#: build/serializers.py:791 order/serializers.py:491 order/serializers.py:1588 +#: build/serializers.py:798 order/serializers.py:507 order/serializers.py:1688 msgid "Accept Incomplete" msgstr "接受不完整" -#: build/serializers.py:793 +#: build/serializers.py:800 msgid "Accept that the required number of build outputs have not been completed" msgstr "允許所需數量的產出未完成" -#: build/serializers.py:804 +#: build/serializers.py:811 msgid "Required build quantity has not been completed" msgstr "未完成所需生產數量" -#: build/serializers.py:816 +#: build/serializers.py:823 msgid "Build order has open child build orders" msgstr "生產訂單有打開的子生產訂單" -#: build/serializers.py:819 +#: build/serializers.py:826 msgid "Build order must be in production state" msgstr "生產訂單必須處於生產狀態" -#: build/serializers.py:822 +#: build/serializers.py:829 msgid "Build order has incomplete outputs" msgstr "生產訂單有未完成的產出" -#: build/serializers.py:861 +#: build/serializers.py:868 msgid "Build Line" msgstr "生產行" -#: build/serializers.py:869 +#: build/serializers.py:876 msgid "Build output" msgstr "產出" -#: build/serializers.py:877 +#: build/serializers.py:884 msgid "Build output must point to the same build" msgstr "生產產出必須指向相同的生產" -#: build/serializers.py:908 +#: build/serializers.py:915 msgid "Build Line Item" msgstr "生產行項目" -#: build/serializers.py:926 +#: build/serializers.py:933 msgid "bom_item.part must point to the same part as the build order" msgstr "bom_item.part 必須與生產訂單零件相同" -#: build/serializers.py:942 stock/serializers.py:1329 +#: build/serializers.py:949 stock/serializers.py:1362 msgid "Item must be in stock" msgstr "商品必須有庫存" -#: build/serializers.py:985 order/serializers.py:1574 +#: build/serializers.py:992 order/serializers.py:1674 #, python-brace-format msgid "Available quantity ({q}) exceeded" msgstr "可用量 ({q}) 超出限制" -#: build/serializers.py:991 +#: build/serializers.py:998 msgid "Build output must be specified for allocation of tracked parts" msgstr "對於被追蹤的零件的分配,必須指定生產產出" -#: build/serializers.py:999 +#: build/serializers.py:1006 msgid "Build output cannot be specified for allocation of untracked parts" msgstr "對於未被追蹤的零件,無法指定生產產出" -#: build/serializers.py:1023 order/serializers.py:1847 +#: build/serializers.py:1030 order/serializers.py:1947 msgid "Allocation items must be provided" msgstr "必須提供分配項目" -#: build/serializers.py:1087 +#: build/serializers.py:1094 msgid "Stock location where parts are to be sourced (leave blank to take from any location)" msgstr "零件來源的庫存地點(留空則可來源於任何庫存地點)" -#: build/serializers.py:1096 +#: build/serializers.py:1103 msgid "Exclude Location" msgstr "排除位置" -#: build/serializers.py:1097 +#: build/serializers.py:1104 msgid "Exclude stock items from this selected location" msgstr "從該選定的庫存地點排除庫存項" -#: build/serializers.py:1102 +#: build/serializers.py:1109 msgid "Interchangeable Stock" msgstr "可互換庫存" -#: build/serializers.py:1103 +#: build/serializers.py:1110 msgid "Stock items in multiple locations can be used interchangeably" msgstr "在多個位置的庫存項目可以互換使用" -#: build/serializers.py:1108 +#: build/serializers.py:1115 msgid "Substitute Stock" msgstr "替代品庫存" -#: build/serializers.py:1109 +#: build/serializers.py:1116 msgid "Allow allocation of substitute parts" msgstr "允許分配可替換的零件" -#: build/serializers.py:1114 +#: build/serializers.py:1121 msgid "Optional Items" msgstr "可選項目" -#: build/serializers.py:1115 +#: build/serializers.py:1122 msgid "Allocate optional BOM items to build order" msgstr "分配可選的物料清單給生產訂單" -#: build/serializers.py:1121 +#: build/serializers.py:1128 msgid "All Items" msgstr "全部品項" -#: build/serializers.py:1122 +#: build/serializers.py:1129 msgid "Untracked Items" msgstr "" -#: build/serializers.py:1123 +#: build/serializers.py:1130 msgid "Tracked Items" msgstr "" -#: build/serializers.py:1125 +#: build/serializers.py:1132 msgid "Item Type" msgstr "品項類型" -#: build/serializers.py:1126 +#: build/serializers.py:1133 msgid "Select item type to auto-allocate" msgstr "" -#: build/serializers.py:1180 +#: build/serializers.py:1187 msgid "BOM Reference" msgstr "物料清單參考" -#: build/serializers.py:1186 +#: build/serializers.py:1193 msgid "BOM Part ID" msgstr "物料清單零件識別號碼" -#: build/serializers.py:1193 +#: build/serializers.py:1200 msgid "BOM Part Name" msgstr "物料清單零件名稱" -#: build/serializers.py:1242 +#: build/serializers.py:1252 msgid "Install Into" msgstr "安裝至" -#: build/serializers.py:1269 build/serializers.py:1487 +#: build/serializers.py:1281 build/serializers.py:1510 msgid "Build" msgstr "生產" -#: build/serializers.py:1288 company/models.py:638 order/api.py:322 -#: order/api.py:327 order/api.py:554 order/serializers.py:607 -#: stock/models.py:1043 stock/serializers.py:582 +#: build/serializers.py:1301 company/models.py:638 order/api.py:322 +#: order/api.py:327 order/api.py:554 order/serializers.py:623 +#: stock/models.py:1043 stock/serializers.py:586 msgid "Supplier Part" msgstr "供應商零件" -#: build/serializers.py:1304 stock/serializers.py:635 +#: build/serializers.py:1317 stock/serializers.py:649 msgid "Allocated Quantity" msgstr "已分配數量" -#: build/serializers.py:1371 +#: build/serializers.py:1384 msgid "Build Reference" msgstr "構建參考" -#: build/serializers.py:1381 +#: build/serializers.py:1394 msgid "Part Category Name" msgstr "零件類別名稱" -#: build/serializers.py:1415 common/setting/system.py:507 part/models.py:1259 +#: build/serializers.py:1432 common/setting/system.py:507 part/models.py:1259 msgid "Trackable" msgstr "可追蹤" -#: build/serializers.py:1418 +#: build/serializers.py:1435 msgid "Inherited" msgstr "已繼承的" -#: build/serializers.py:1421 part/models.py:4072 +#: build/serializers.py:1438 part/models.py:4072 msgid "Allow Variants" msgstr "允許變體" -#: build/serializers.py:1427 build/serializers.py:1432 part/models.py:3793 +#: build/serializers.py:1444 build/serializers.py:1450 part/models.py:3793 #: part/models.py:4376 stock/api.py:881 msgid "BOM Item" msgstr "物料清單項" -#: build/serializers.py:1505 order/serializers.py:1285 part/serializers.py:1174 -#: part/serializers.py:1755 +#: build/serializers.py:1528 order/serializers.py:1344 part/serializers.py:1201 +#: part/serializers.py:1796 msgid "In Production" msgstr "生產中" -#: build/serializers.py:1507 part/serializers.py:840 part/serializers.py:1178 +#: build/serializers.py:1530 part/serializers.py:852 part/serializers.py:1205 msgid "Scheduled to Build" msgstr "排程生產中" -#: build/serializers.py:1510 part/serializers.py:873 +#: build/serializers.py:1533 part/serializers.py:885 msgid "External Stock" msgstr "外部庫存" -#: build/serializers.py:1511 part/serializers.py:1164 part/serializers.py:1798 +#: build/serializers.py:1534 part/serializers.py:1191 part/serializers.py:1859 msgid "Available Stock" msgstr "可用庫存" -#: build/serializers.py:1513 +#: build/serializers.py:1536 msgid "Available Substitute Stock" msgstr "可用的替代品庫存" -#: build/serializers.py:1516 +#: build/serializers.py:1539 msgid "Available Variant Stock" msgstr "可用的變體庫存" -#: build/serializers.py:1729 +#: build/serializers.py:1752 msgid "Consumed quantity exceeds allocated quantity" msgstr "消耗數量超過已分配數量" -#: build/serializers.py:1766 +#: build/serializers.py:1789 msgid "Optional notes for the stock consumption" msgstr "庫存耗用的可選備註" -#: build/serializers.py:1783 +#: build/serializers.py:1806 msgid "Build item must point to the correct build order" msgstr "生產項必須指向正確的生產工單" -#: build/serializers.py:1788 +#: build/serializers.py:1811 msgid "Duplicate build item allocation" msgstr "重複的生產項分配" -#: build/serializers.py:1806 +#: build/serializers.py:1829 msgid "Build line must point to the correct build order" msgstr "生產行必須指向正確的生產工單" -#: build/serializers.py:1811 +#: build/serializers.py:1834 msgid "Duplicate build line allocation" msgstr "重複的生產行分配" -#: build/serializers.py:1823 +#: build/serializers.py:1846 msgid "At least one item or line must be provided" msgstr "至少必須提供一個項目或一行" @@ -1494,7 +1494,7 @@ msgstr "被掛起" msgid "Cancelled" msgstr "已取消" -#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:580 +#: build/status_codes.py:15 generic/states/tests.py:23 importer/models.py:587 #: importer/status_codes.py:27 order/status_codes.py:15 #: order/status_codes.py:52 order/status_codes.py:83 msgid "Complete" @@ -1518,19 +1518,19 @@ msgstr "逾期的生產訂單" msgid "Build order {bo} is now overdue" msgstr "生產訂單 {bo} 現已逾期" -#: common/api.py:735 +#: common/api.py:722 msgid "Is Link" msgstr "是否鏈接" -#: common/api.py:743 +#: common/api.py:730 msgid "Is File" msgstr "是否為文件" -#: common/api.py:790 +#: common/api.py:777 msgid "User does not have permission to delete these attachments" msgstr "用户沒有權限刪除此附件" -#: common/api.py:803 +#: common/api.py:790 msgid "User does not have permission to delete this attachment" msgstr "用户沒有權限刪除此附件" @@ -1550,7 +1550,7 @@ msgstr "未提供有效的貨幣代碼" msgid "No plugin" msgstr "暫無插件" -#: common/filters.py:351 +#: common/filters.py:359 msgid "Project Code Label" msgstr "項目編碼標籤" @@ -1628,7 +1628,7 @@ msgstr "使用者" msgid "Price break quantity" msgstr "批發價數量" -#: common/models.py:1376 company/serializers.py:316 order/models.py:1890 +#: common/models.py:1376 company/serializers.py:326 order/models.py:1890 #: order/models.py:3100 msgid "Price" msgstr "價格" @@ -1652,7 +1652,7 @@ msgstr "此網絡鈎子的名稱" #: common/models.py:1443 common/models.py:2271 common/models.py:2406 #: company/models.py:194 company/models.py:786 machine/models.py:40 #: part/models.py:1282 plugin/models.py:69 stock/api.py:641 users/models.py:195 -#: users/models.py:554 users/serializers.py:332 users/serializers.py:424 +#: users/models.py:554 users/serializers.py:339 users/serializers.py:431 msgid "Active" msgstr "激活" @@ -2126,7 +2126,7 @@ msgstr "參數集" msgid "Invalid choice for parameter value" msgstr "無效的參數值選擇" -#: common/models.py:2752 common/serializers.py:882 +#: common/models.py:2752 common/serializers.py:883 msgid "Invalid model type specified for parameter" msgstr "" @@ -2140,7 +2140,7 @@ msgstr "" #: common/models.py:2798 common/setting/system.py:477 report/models.py:376 #: report/models.py:672 report/serializers.py:117 report/serializers.py:158 -#: stock/serializers.py:244 +#: stock/serializers.py:245 msgid "Template" msgstr "模板" @@ -2148,7 +2148,7 @@ msgstr "模板" msgid "Parameter template" msgstr "" -#: common/models.py:2804 common/models.py:2846 importer/models.py:574 +#: common/models.py:2804 common/models.py:2846 importer/models.py:581 msgid "Data" msgstr "數據" @@ -2156,18 +2156,18 @@ msgstr "數據" msgid "Parameter Value" msgstr "參數值" -#: common/models.py:2814 company/models.py:826 order/serializers.py:854 -#: order/serializers.py:2036 part/models.py:4047 part/models.py:4416 +#: common/models.py:2814 company/models.py:826 order/serializers.py:895 +#: order/serializers.py:2144 part/models.py:4047 part/models.py:4416 #: report/templates/report/inventree_bill_of_materials_report.html:140 #: report/templates/report/inventree_purchase_order_report.html:39 #: report/templates/report/inventree_return_order_report.html:27 #: report/templates/report/inventree_sales_order_report.html:32 #: report/templates/report/inventree_stock_location_report.html:105 -#: stock/serializers.py:828 +#: stock/serializers.py:842 msgid "Note" msgstr "備註" -#: common/models.py:2815 stock/serializers.py:733 +#: common/models.py:2815 stock/serializers.py:747 msgid "Optional note field" msgstr "可選註釋字段" @@ -2456,7 +2456,7 @@ msgid "Filename" msgstr "檔案名稱" #: common/serializers.py:762 common/serializers.py:829 -#: common/serializers.py:904 importer/models.py:90 report/api.py:41 +#: common/serializers.py:905 importer/models.py:90 report/api.py:41 #: report/models.py:296 report/serializers.py:71 msgid "Model Type" msgstr "模型類型" @@ -2465,11 +2465,11 @@ msgstr "模型類型" msgid "User does not have permission to create or edit attachments for this model" msgstr "用户無權為此模式創建或編輯附件" -#: common/serializers.py:885 +#: common/serializers.py:886 msgid "User does not have permission to create or edit parameters for this model" msgstr "" -#: common/serializers.py:955 common/serializers.py:1058 +#: common/serializers.py:961 common/serializers.py:1064 msgid "Selection list is locked" msgstr "選擇列表已鎖定" @@ -2859,8 +2859,8 @@ msgstr "零件默認為模板" msgid "Parts can be assembled from other components by default" msgstr "默認情況下,元件可由其他零件組裝而成" -#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1724 -#: part/serializers.py:1731 +#: common/setting/system.py:489 part/models.py:1253 part/serializers.py:1763 +#: part/serializers.py:1771 msgid "Component" msgstr "組件" @@ -3988,33 +3988,33 @@ msgstr "零件已激活" msgid "Manufacturer is Active" msgstr "製造商處於活動狀態" -#: company/api.py:251 +#: company/api.py:252 msgid "Supplier Part is Active" msgstr "供應商零件處於激活狀態" -#: company/api.py:253 +#: company/api.py:254 msgid "Primary Supplier Part" msgstr "" -#: company/api.py:257 +#: company/api.py:258 msgid "Internal Part is Active" msgstr "內部零件已激活" -#: company/api.py:262 +#: company/api.py:263 msgid "Supplier is Active" msgstr "供應商已激活" -#: company/api.py:274 company/models.py:535 company/serializers.py:455 -#: part/serializers.py:488 +#: company/api.py:275 company/models.py:535 company/serializers.py:473 +#: part/serializers.py:491 msgid "Manufacturer" msgstr "製造商" -#: company/api.py:281 company/models.py:124 company/models.py:404 +#: company/api.py:282 company/models.py:124 company/models.py:404 #: stock/api.py:899 msgid "Company" msgstr "公司" -#: company/api.py:291 +#: company/api.py:292 msgid "Has Stock" msgstr "有庫存" @@ -4195,7 +4195,7 @@ msgstr "內部使用的裝運通知單" msgid "Link to address information (external)" msgstr "鏈接地址信息 (外部)" -#: company/models.py:507 company/models.py:802 company/serializers.py:475 +#: company/models.py:507 company/models.py:802 company/serializers.py:501 #: stock/api.py:560 msgid "Manufacturer Part" msgstr "製造商零件" @@ -4213,12 +4213,12 @@ msgstr "選擇零件" msgid "Select manufacturer" msgstr "選擇製造商" -#: company/models.py:542 company/serializers.py:486 order/serializers.py:705 -#: part/serializers.py:498 +#: company/models.py:542 company/serializers.py:512 order/serializers.py:742 +#: part/serializers.py:501 msgid "MPN" msgstr "製造商零件編號" -#: company/models.py:543 stock/serializers.py:575 +#: company/models.py:543 stock/serializers.py:578 msgid "Manufacturer Part Number" msgstr "製造商零件編號" @@ -4242,8 +4242,8 @@ msgstr "包裝單位必須大於零" msgid "Linked manufacturer part must reference the same base part" msgstr "鏈接的製造商零件必須引用相同的基礎零件" -#: company/models.py:774 company/serializers.py:443 company/serializers.py:470 -#: order/models.py:666 part/serializers.py:472 +#: company/models.py:774 company/serializers.py:460 company/serializers.py:495 +#: order/models.py:666 part/serializers.py:475 #: 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:566 templates/email/overdue_purchase_order.html:16 @@ -4254,7 +4254,7 @@ msgstr "供應商" msgid "Select supplier" msgstr "選擇供應商" -#: company/models.py:781 part/serializers.py:483 +#: company/models.py:781 part/serializers.py:486 msgid "Supplier stock keeping unit" msgstr "供應商庫存管理單位" @@ -4290,8 +4290,8 @@ msgstr "基本費用" msgid "Minimum charge (e.g. stocking fee)" msgstr "最低費用(例如庫存費)" -#: company/models.py:843 order/serializers.py:846 stock/models.py:1063 -#: stock/serializers.py:1648 +#: company/models.py:843 order/serializers.py:887 stock/models.py:1063 +#: stock/serializers.py:1681 msgid "Packaging" msgstr "打包" @@ -4339,14 +4339,18 @@ msgstr "此供應商使用的默認貨幣" msgid "Company Name" msgstr "公司名稱" -#: company/serializers.py:407 part/serializers.py:845 stock/serializers.py:441 +#: company/serializers.py:417 part/serializers.py:857 stock/serializers.py:444 msgid "In Stock" msgstr "有庫存" -#: company/serializers.py:424 +#: company/serializers.py:435 msgid "Price Breaks" msgstr "" +#: company/serializers.py:488 +msgid "Pretty Name" +msgstr "" + #: data_exporter/mixins.py:328 data_exporter/mixins.py:417 msgid "Error occurred during data export" msgstr "資料匯出過程發生錯誤" @@ -4451,67 +4455,67 @@ msgstr "ID" msgid "Existing database identifier for the record" msgstr "資料庫中既有紀錄的識別碼" -#: importer/models.py:452 +#: importer/models.py:459 msgid "Column is already mapped to a database field" msgstr "列已映射到數據庫字段" -#: importer/models.py:457 +#: importer/models.py:464 msgid "Field is already mapped to a data column" msgstr "字段已映射到數據列" -#: importer/models.py:466 +#: importer/models.py:473 msgid "Column mapping must be linked to a valid import session" msgstr "列映射必須鏈接到有效的導入會話" -#: importer/models.py:471 +#: importer/models.py:478 msgid "Column does not exist in the data file" msgstr "數據文件中不存在列" -#: importer/models.py:478 +#: importer/models.py:485 msgid "Field does not exist in the target model" msgstr "目標模型中不存在字段" -#: importer/models.py:482 +#: importer/models.py:489 msgid "Selected field is read-only" msgstr "所選字段為只讀" -#: importer/models.py:487 importer/models.py:564 +#: importer/models.py:494 importer/models.py:571 msgid "Import Session" msgstr "導入會話" -#: importer/models.py:491 +#: importer/models.py:498 msgid "Field" msgstr "字段" -#: importer/models.py:493 +#: importer/models.py:500 msgid "Column" msgstr "列" -#: importer/models.py:568 +#: importer/models.py:575 msgid "Row Index" msgstr "行索引" -#: importer/models.py:571 +#: importer/models.py:578 msgid "Original row data" msgstr "原始行數據" -#: importer/models.py:576 machine/models.py:111 +#: importer/models.py:583 machine/models.py:111 msgid "Errors" msgstr "錯誤" -#: importer/models.py:578 part/serializers.py:1132 +#: importer/models.py:585 part/serializers.py:1159 msgid "Valid" msgstr "有效" -#: importer/models.py:839 +#: importer/models.py:846 msgid "ID is required for updating existing records." msgstr "更新既有紀錄需要提供 ID。" -#: importer/models.py:846 +#: importer/models.py:853 msgid "No record found with the provided ID" msgstr "" -#: importer/models.py:852 +#: importer/models.py:859 msgid "Invalid ID format provided" msgstr "" @@ -4821,7 +4825,7 @@ msgstr "訂單" msgid "Order Complete" msgstr "訂單完成" -#: order/api.py:573 order/api.py:577 order/serializers.py:716 +#: order/api.py:573 order/api.py:577 order/serializers.py:753 msgid "Internal Part" msgstr "內部零件" @@ -4918,7 +4922,7 @@ msgstr "開始日期" msgid "Scheduled start date for this order" msgstr "此訂單的預定開始日期" -#: order/models.py:477 order/models.py:1842 order/serializers.py:295 +#: order/models.py:477 order/models.py:1842 order/serializers.py:307 #: report/templates/report/inventree_build_order_report.html:125 msgid "Target Date" msgstr "預計日期" @@ -4956,7 +4960,7 @@ msgid "Order reference" msgstr "訂單參考" #: order/models.py:651 order/models.py:1375 order/models.py:2789 -#: stock/serializers.py:562 stock/serializers.py:1003 users/models.py:542 +#: stock/serializers.py:565 stock/serializers.py:1017 users/models.py:542 msgid "Status" msgstr "狀態" @@ -5013,7 +5017,7 @@ msgid "Serial numbers cannot be assigned to virtual parts" msgstr "" #: order/models.py:1362 order/models.py:2776 stock/models.py:1085 -#: stock/models.py:1086 stock/serializers.py:1364 +#: stock/models.py:1086 stock/serializers.py:1397 #: templates/email/overdue_return_order.html:16 #: templates/email/overdue_sales_order.html:16 msgid "Customer" @@ -5139,7 +5143,7 @@ msgstr "已接收" msgid "Number of items received" msgstr "收到的物品數量" -#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:652 +#: order/models.py:2008 stock/models.py:1208 stock/serializers.py:666 msgid "Purchase Price" msgstr "採購價格" @@ -5211,8 +5215,8 @@ msgstr "審核人" msgid "User who checked this shipment" msgstr "檢查此裝運的用户" -#: order/models.py:2372 order/models.py:2624 order/serializers.py:1698 -#: order/serializers.py:1822 +#: order/models.py:2372 order/models.py:2624 order/serializers.py:1798 +#: order/serializers.py:1922 #: report/templates/report/inventree_sales_order_shipment_report.html:14 msgid "Shipment" msgstr "配送" @@ -5277,7 +5281,7 @@ msgstr "分配數量不能超過庫存數量" msgid "Allocation quantity must be greater than zero" msgstr "分配的數量必須大於零" -#: order/models.py:2602 order/serializers.py:1568 +#: order/models.py:2602 order/serializers.py:1668 msgid "Quantity must be 1 for serialized stock item" msgstr "序列化庫存項目的數量必須為1" @@ -5393,7 +5397,7 @@ msgstr "複製額外行" msgid "Copy extra line items from the original order" msgstr "從原始訂單複製額外的行項目" -#: order/serializers.py:95 part/serializers.py:413 +#: order/serializers.py:95 part/serializers.py:416 msgid "Copy Parameters" msgstr "複製參數" @@ -5412,216 +5416,216 @@ msgstr "行項目" msgid "Completed Lines" msgstr "已完成行項目" -#: order/serializers.py:172 +#: order/serializers.py:184 msgid "Duplicate Order" msgstr "複製訂單" -#: order/serializers.py:173 +#: order/serializers.py:185 msgid "Specify options for duplicating this order" msgstr "指定複製此訂單的選項" -#: order/serializers.py:252 +#: order/serializers.py:264 msgid "Invalid order ID" msgstr "訂單ID不正確" -#: order/serializers.py:432 +#: order/serializers.py:444 msgid "Supplier Name" msgstr "供應商名稱" -#: order/serializers.py:477 +#: order/serializers.py:493 msgid "Order cannot be cancelled" msgstr "訂單不能取消" -#: order/serializers.py:492 order/serializers.py:1589 +#: order/serializers.py:508 order/serializers.py:1689 msgid "Allow order to be closed with incomplete line items" msgstr "允許關閉行項目不完整的訂單" -#: order/serializers.py:502 order/serializers.py:1599 +#: order/serializers.py:518 order/serializers.py:1699 msgid "Order has incomplete line items" msgstr "訂單中的行項目不完整" -#: order/serializers.py:622 +#: order/serializers.py:638 msgid "Order is not open" msgstr "訂單未打開" -#: order/serializers.py:651 +#: order/serializers.py:676 msgid "Auto Pricing" msgstr "自動定價" -#: order/serializers.py:653 +#: order/serializers.py:678 msgid "Automatically calculate purchase price based on supplier part data" msgstr "根據供應商零件數據自動計算採購價格" -#: order/serializers.py:667 +#: order/serializers.py:695 msgid "Purchase price currency" msgstr "購買價格貨幣" -#: order/serializers.py:689 +#: order/serializers.py:726 msgid "Merge Items" msgstr "合併項目" -#: order/serializers.py:691 +#: order/serializers.py:728 msgid "Merge items with the same part, destination and target date into one line item" msgstr "將具有相同零件、目的地和目標日期的項目合併到一個行項目中" -#: order/serializers.py:698 part/serializers.py:482 +#: order/serializers.py:735 part/serializers.py:485 msgid "SKU" msgstr "庫存量單位" -#: order/serializers.py:712 part/models.py:1151 part/serializers.py:348 +#: order/serializers.py:749 part/models.py:1151 part/serializers.py:344 msgid "Internal Part Number" msgstr "內部零件編號" -#: order/serializers.py:720 +#: order/serializers.py:757 msgid "Internal Part Name" msgstr "內部零件名稱" -#: order/serializers.py:736 +#: order/serializers.py:773 msgid "Supplier part must be specified" msgstr "必須指定供應商零件" -#: order/serializers.py:739 +#: order/serializers.py:776 msgid "Purchase order must be specified" msgstr "必須指定採購訂單" -#: order/serializers.py:747 +#: order/serializers.py:784 msgid "Supplier must match purchase order" msgstr "供應商必須匹配採購訂單" -#: order/serializers.py:748 +#: order/serializers.py:785 msgid "Purchase order must match supplier" msgstr "採購訂單必須與供應商匹配" -#: order/serializers.py:796 order/serializers.py:1669 +#: order/serializers.py:837 order/serializers.py:1769 msgid "Line Item" msgstr "行項目" -#: order/serializers.py:805 order/serializers.py:945 order/serializers.py:2032 +#: order/serializers.py:846 order/serializers.py:986 order/serializers.py:2140 msgid "Select destination location for received items" msgstr "為收到的物品選擇目的地位置" -#: order/serializers.py:821 +#: order/serializers.py:862 msgid "Enter batch code for incoming stock items" msgstr "輸入入庫項目的批號" -#: order/serializers.py:828 stock/models.py:1167 +#: order/serializers.py:869 stock/models.py:1167 #: templates/email/stale_stock_notification.html:22 users/models.py:137 msgid "Expiry Date" msgstr "有效期至" -#: order/serializers.py:829 +#: order/serializers.py:870 msgid "Enter expiry date for incoming stock items" msgstr "輸入入庫庫存項目的到期日" -#: order/serializers.py:837 +#: order/serializers.py:878 msgid "Enter serial numbers for incoming stock items" msgstr "輸入入庫庫存項目的序列號" -#: order/serializers.py:847 +#: order/serializers.py:888 msgid "Override packaging information for incoming stock items" msgstr "覆蓋傳入庫存項目的包裝資料" -#: order/serializers.py:855 order/serializers.py:2037 +#: order/serializers.py:896 order/serializers.py:2145 msgid "Additional note for incoming stock items" msgstr "傳入庫存項目的附加説明" -#: order/serializers.py:862 +#: order/serializers.py:903 msgid "Barcode" msgstr "條形碼" -#: order/serializers.py:863 +#: order/serializers.py:904 msgid "Scanned barcode" msgstr "掃描條形碼" -#: order/serializers.py:879 +#: order/serializers.py:920 msgid "Barcode is already in use" msgstr "條形碼已被使用" -#: order/serializers.py:962 order/serializers.py:2056 +#: order/serializers.py:1003 order/serializers.py:2164 msgid "Line items must be provided" msgstr "必須提供行項目" -#: order/serializers.py:981 +#: order/serializers.py:1022 msgid "Destination location must be specified" msgstr "必須指定目標位置" -#: order/serializers.py:988 +#: order/serializers.py:1029 msgid "Supplied barcode values must be unique" msgstr "提供的條形碼值必須是唯一的" -#: order/serializers.py:1109 +#: order/serializers.py:1154 msgid "Shipments" msgstr "配送紀錄" -#: order/serializers.py:1113 +#: order/serializers.py:1158 msgid "Completed Shipments" msgstr "完成配送" -#: order/serializers.py:1117 +#: order/serializers.py:1162 msgid "Allocated Lines" msgstr "" -#: order/serializers.py:1296 +#: order/serializers.py:1355 msgid "Sale price currency" msgstr "售出價格貨幣" -#: order/serializers.py:1343 +#: order/serializers.py:1402 msgid "Allocated Items" msgstr "已分配項目" -#: order/serializers.py:1500 +#: order/serializers.py:1600 msgid "No shipment details provided" msgstr "未提供裝運詳細信息" -#: order/serializers.py:1532 order/serializers.py:1678 +#: order/serializers.py:1632 order/serializers.py:1778 msgid "Line item is not associated with this order" msgstr "行項目與此訂單不關聯" -#: order/serializers.py:1551 +#: order/serializers.py:1651 msgid "Quantity must be positive" msgstr "數量必須為正" -#: order/serializers.py:1688 +#: order/serializers.py:1788 msgid "Enter serial numbers to allocate" msgstr "輸入要分配的序列號" -#: order/serializers.py:1710 order/serializers.py:1830 +#: order/serializers.py:1810 order/serializers.py:1930 msgid "Shipment has already been shipped" msgstr "貨物已發出" -#: order/serializers.py:1713 order/serializers.py:1833 +#: order/serializers.py:1813 order/serializers.py:1933 msgid "Shipment is not associated with this order" msgstr "發貨與此訂單無關" -#: order/serializers.py:1768 +#: order/serializers.py:1868 msgid "No match found for the following serial numbers" msgstr "未找到以下序列號的匹配項" -#: order/serializers.py:1775 +#: order/serializers.py:1875 msgid "The following serial numbers are unavailable" msgstr "以下序列號不可用" -#: order/serializers.py:1998 +#: order/serializers.py:2106 msgid "Return order line item" msgstr "退貨訂單行項目" -#: order/serializers.py:2008 +#: order/serializers.py:2116 msgid "Line item does not match return order" msgstr "行項目與退貨訂單不匹配" -#: order/serializers.py:2011 +#: order/serializers.py:2119 msgid "Line item has already been received" msgstr "行項目已收到" -#: order/serializers.py:2048 +#: order/serializers.py:2156 msgid "Items can only be received against orders which are in progress" msgstr "只能根據正在進行的訂單接收物品" -#: order/serializers.py:2120 +#: order/serializers.py:2232 msgid "Quantity to return" msgstr "退回數量" -#: order/serializers.py:2137 +#: order/serializers.py:2257 msgid "Line price currency" msgstr "行價格貨幣" @@ -5837,7 +5841,7 @@ msgstr "此類別零件的默認關鍵字" msgid "Icon" msgstr "圖標" -#: part/models.py:137 part/serializers.py:158 part/serializers.py:177 +#: part/models.py:137 part/serializers.py:154 part/serializers.py:173 #: stock/models.py:187 msgid "Icon (optional)" msgstr "圖標(可選)" @@ -5858,7 +5862,7 @@ msgstr "默認值" msgid "Default Parameter Value" msgstr "默認參數值" -#: part/models.py:528 part/serializers.py:120 users/ruleset.py:28 +#: part/models.py:528 part/serializers.py:114 users/ruleset.py:28 msgid "Parts" msgstr "零件" @@ -5973,7 +5977,7 @@ msgstr "提高搜索結果可見性的零件關鍵字" msgid "Part category" msgstr "零件類別" -#: part/models.py:1150 part/serializers.py:819 +#: part/models.py:1150 part/serializers.py:831 #: report/templates/report/inventree_stock_location_report.html:103 msgid "IPN" msgstr "內部零件號 IPN" @@ -6006,7 +6010,7 @@ msgstr "默認到期" msgid "Expiry time (in days) for stock items of this part" msgstr "此零件庫存項的過期時間 (天)" -#: part/models.py:1231 part/serializers.py:889 +#: part/models.py:1231 part/serializers.py:901 msgid "Minimum Stock" msgstr "最低庫存" @@ -6487,355 +6491,355 @@ msgstr "零件關係不能在零件和自身之間創建" msgid "Duplicate relationship already exists" msgstr "複製關係已經存在" -#: part/serializers.py:115 +#: part/serializers.py:109 msgid "Parent Category" msgstr "上級類別" -#: part/serializers.py:116 +#: part/serializers.py:110 msgid "Parent part category" msgstr "上級零件類別" -#: part/serializers.py:124 part/serializers.py:174 +#: part/serializers.py:118 part/serializers.py:170 msgid "Subcategories" msgstr "子類別" -#: part/serializers.py:213 +#: part/serializers.py:209 msgid "Results" msgstr "結果" -#: part/serializers.py:214 +#: part/serializers.py:210 msgid "Number of results recorded against this template" msgstr "根據該模板記錄的結果數量" -#: part/serializers.py:245 part/serializers.py:263 stock/serializers.py:658 +#: part/serializers.py:241 part/serializers.py:259 stock/serializers.py:672 msgid "Purchase currency of this stock item" msgstr "購買此庫存項的貨幣" -#: part/serializers.py:290 +#: part/serializers.py:286 msgid "File is not an image" msgstr "檔案不是圖片" -#: part/serializers.py:393 +#: part/serializers.py:396 msgid "Original Part" msgstr "原始零件" -#: part/serializers.py:394 +#: part/serializers.py:397 msgid "Select original part to duplicate" msgstr "選擇要複製的原始零件" -#: part/serializers.py:399 +#: part/serializers.py:402 msgid "Copy Image" msgstr "複製圖片" -#: part/serializers.py:400 +#: part/serializers.py:403 msgid "Copy image from original part" msgstr "從原零件複製圖片" -#: part/serializers.py:406 +#: part/serializers.py:409 msgid "Copy BOM" msgstr "複製物料清單" -#: part/serializers.py:407 +#: part/serializers.py:410 msgid "Copy bill of materials from original part" msgstr "從原始零件複製材料清單" -#: part/serializers.py:414 +#: part/serializers.py:417 msgid "Copy parameter data from original part" msgstr "從原始零件複製參數數據" -#: part/serializers.py:420 +#: part/serializers.py:423 msgid "Copy Notes" msgstr "複製備註" -#: part/serializers.py:421 +#: part/serializers.py:424 msgid "Copy notes from original part" msgstr "從原始零件複製備註" -#: part/serializers.py:427 +#: part/serializers.py:430 msgid "Copy Tests" msgstr "複製測試模板" -#: part/serializers.py:428 +#: part/serializers.py:431 msgid "Copy test templates from original part" msgstr "從原始零件複製測試模板" -#: part/serializers.py:446 +#: part/serializers.py:449 msgid "Initial Stock Quantity" msgstr "初始化庫存數量" -#: part/serializers.py:448 +#: part/serializers.py:451 msgid "Specify initial stock quantity for this Part. If quantity is zero, no stock is added." msgstr "指定此零件的初始庫存數量。如果數量為零,則不添加任何庫存。" -#: part/serializers.py:455 +#: part/serializers.py:458 msgid "Initial Stock Location" msgstr "初始化庫存地點" -#: part/serializers.py:456 +#: part/serializers.py:459 msgid "Specify initial stock location for this Part" msgstr "初始化指定此零件的庫存地點" -#: part/serializers.py:473 +#: part/serializers.py:476 msgid "Select supplier (or leave blank to skip)" msgstr "選擇供應商(或為空以跳過)" -#: part/serializers.py:489 +#: part/serializers.py:492 msgid "Select manufacturer (or leave blank to skip)" msgstr "選擇製造商(或為空)" -#: part/serializers.py:499 +#: part/serializers.py:502 msgid "Manufacturer part number" msgstr "製造商零件號" -#: part/serializers.py:506 +#: part/serializers.py:509 msgid "Selected company is not a valid supplier" msgstr "所選公司不是一個有效的供應商" -#: part/serializers.py:515 +#: part/serializers.py:518 msgid "Selected company is not a valid manufacturer" msgstr "所選公司不是一個有效的製造商" -#: part/serializers.py:526 +#: part/serializers.py:529 msgid "Manufacturer part matching this MPN already exists" msgstr "與此製造商零件編號 (MPN) 的相匹配的製造商零件已存在" -#: part/serializers.py:533 +#: part/serializers.py:536 msgid "Supplier part matching this SKU already exists" msgstr "匹配此庫存單位 (SKU) 的供應商零件已存在" -#: part/serializers.py:804 +#: part/serializers.py:816 msgid "Category Name" msgstr "類別名稱" -#: part/serializers.py:833 +#: part/serializers.py:845 msgid "Building" msgstr "正在生產" -#: part/serializers.py:834 +#: part/serializers.py:846 msgid "Quantity of this part currently being in production" msgstr "此零件目前生產中數量" -#: part/serializers.py:841 +#: part/serializers.py:853 msgid "Outstanding quantity of this part scheduled to be built" msgstr "此零件排程待製造未完成數量" -#: part/serializers.py:861 stock/serializers.py:1034 stock/serializers.py:1217 +#: part/serializers.py:873 stock/serializers.py:1048 stock/serializers.py:1231 #: users/ruleset.py:30 msgid "Stock Items" msgstr "庫存項" -#: part/serializers.py:865 +#: part/serializers.py:877 msgid "Revisions" msgstr "修訂" -#: part/serializers.py:869 part/serializers.py:1161 +#: part/serializers.py:881 part/serializers.py:1188 #: templates/email/low_stock_notification.html:16 #: templates/email/part_event_notification.html:17 msgid "Total Stock" msgstr "庫存總量" -#: part/serializers.py:877 +#: part/serializers.py:889 msgid "Unallocated Stock" msgstr "未分配的庫存" -#: part/serializers.py:885 +#: part/serializers.py:897 msgid "Variant Stock" msgstr "變體庫存" -#: part/serializers.py:941 +#: part/serializers.py:968 msgid "Duplicate Part" msgstr "重複零件" -#: part/serializers.py:942 +#: part/serializers.py:969 msgid "Copy initial data from another Part" msgstr "從另一個零件複製初始數據" -#: part/serializers.py:948 +#: part/serializers.py:975 msgid "Initial Stock" msgstr "初始庫存" -#: part/serializers.py:949 +#: part/serializers.py:976 msgid "Create Part with initial stock quantity" msgstr "創建具有初始庫存數量的零件" -#: part/serializers.py:955 +#: part/serializers.py:982 msgid "Supplier Information" msgstr "供應商信息" -#: part/serializers.py:956 +#: part/serializers.py:983 msgid "Add initial supplier information for this part" msgstr "添加此零件的初始供應商信息" -#: part/serializers.py:965 +#: part/serializers.py:992 msgid "Copy Category Parameters" msgstr "複製類別參數" -#: part/serializers.py:966 +#: part/serializers.py:993 msgid "Copy parameter templates from selected part category" msgstr "從選擇的零件複製參數模版" -#: part/serializers.py:971 +#: part/serializers.py:998 msgid "Existing Image" msgstr "現有的圖片" -#: part/serializers.py:972 +#: part/serializers.py:999 msgid "Filename of an existing part image" msgstr "現有零件圖片的文件名" -#: part/serializers.py:989 +#: part/serializers.py:1016 msgid "Image file does not exist" msgstr "圖片不存在" -#: part/serializers.py:1133 +#: part/serializers.py:1160 msgid "Validate entire Bill of Materials" msgstr "驗證整個物料清單" -#: part/serializers.py:1167 part/serializers.py:1759 +#: part/serializers.py:1194 part/serializers.py:1802 msgid "Can Build" msgstr "可以創建" -#: part/serializers.py:1184 +#: part/serializers.py:1211 msgid "Required for Build Orders" msgstr "生產工單需求數" -#: part/serializers.py:1189 +#: part/serializers.py:1216 msgid "Allocated to Build Orders" msgstr "已分配至生產工單" -#: part/serializers.py:1196 +#: part/serializers.py:1223 msgid "Required for Sales Orders" msgstr "銷售訂單需求數" -#: part/serializers.py:1200 +#: part/serializers.py:1227 msgid "Allocated to Sales Orders" msgstr "已分配至銷售訂單" -#: part/serializers.py:1260 +#: part/serializers.py:1287 msgid "Part IPN" msgstr "" -#: part/serializers.py:1267 +#: part/serializers.py:1294 msgid "Part Description" msgstr "" -#: part/serializers.py:1306 +#: part/serializers.py:1338 msgid "Select a part to generate stocktake information for that part (and any variant parts)" msgstr "" -#: part/serializers.py:1316 +#: part/serializers.py:1348 msgid "Select a category to include all parts within that category (and subcategories)" msgstr "" -#: part/serializers.py:1326 +#: part/serializers.py:1358 msgid "Select a location to include all parts with stock in that location (including sub-locations)" msgstr "" -#: part/serializers.py:1333 +#: part/serializers.py:1365 msgid "Generate Stocktake Entries" msgstr "" -#: part/serializers.py:1334 +#: part/serializers.py:1366 msgid "Save stocktake entries for the selected parts" msgstr "" -#: part/serializers.py:1341 +#: part/serializers.py:1373 msgid "Generate Report" msgstr "產製報表" -#: part/serializers.py:1342 +#: part/serializers.py:1374 msgid "Generate a stocktake report for the selected parts" msgstr "產製選定零件的庫存報表" -#: part/serializers.py:1445 +#: part/serializers.py:1477 msgid "Minimum Price" msgstr "最低價格" -#: part/serializers.py:1446 +#: part/serializers.py:1478 msgid "Override calculated value for minimum price" msgstr "覆蓋已計算的最低價格值" -#: part/serializers.py:1453 +#: part/serializers.py:1485 msgid "Minimum price currency" msgstr "最低價格貨幣" -#: part/serializers.py:1460 +#: part/serializers.py:1492 msgid "Maximum Price" msgstr "最高價格" -#: part/serializers.py:1461 +#: part/serializers.py:1493 msgid "Override calculated value for maximum price" msgstr "覆蓋已計算的最高價格值" -#: part/serializers.py:1468 +#: part/serializers.py:1500 msgid "Maximum price currency" msgstr "最高價格貨幣" -#: part/serializers.py:1497 +#: part/serializers.py:1529 msgid "Update" msgstr "更新" -#: part/serializers.py:1498 +#: part/serializers.py:1530 msgid "Update pricing for this part" msgstr "更新這個零件的價格" -#: part/serializers.py:1521 +#: part/serializers.py:1553 #, python-brace-format msgid "Could not convert from provided currencies to {default_currency}" msgstr "無法將所提供的貨幣轉換為 {default_currency}" -#: part/serializers.py:1528 +#: part/serializers.py:1560 msgid "Minimum price must not be greater than maximum price" msgstr "最低價格不能高於最高價格。" -#: part/serializers.py:1531 +#: part/serializers.py:1563 msgid "Maximum price must not be less than minimum price" msgstr "最高價格不能低於最低價格" -#: part/serializers.py:1684 +#: part/serializers.py:1716 msgid "Quantity must be greater than or equal to zero" msgstr "" -#: part/serializers.py:1697 +#: part/serializers.py:1729 msgid "Select the parent assembly" msgstr "選擇父裝配" -#: part/serializers.py:1725 +#: part/serializers.py:1764 msgid "Select the component part" msgstr "選擇零部件" -#: part/serializers.py:1927 +#: part/serializers.py:1991 msgid "Select part to copy BOM from" msgstr "選擇要複製物料清單的零件" -#: part/serializers.py:1935 +#: part/serializers.py:1999 msgid "Remove Existing Data" msgstr "移除現有數據" -#: part/serializers.py:1936 +#: part/serializers.py:2000 msgid "Remove existing BOM items before copying" msgstr "複製前刪除現有的物料清單項目" -#: part/serializers.py:1941 +#: part/serializers.py:2005 msgid "Include Inherited" msgstr "包含繼承的" -#: part/serializers.py:1942 +#: part/serializers.py:2006 msgid "Include BOM items which are inherited from templated parts" msgstr "包含從模板零件繼承的物料清單項目" -#: part/serializers.py:1947 +#: part/serializers.py:2011 msgid "Skip Invalid Rows" msgstr "跳過無效行" -#: part/serializers.py:1948 +#: part/serializers.py:2012 msgid "Enable this option to skip invalid rows" msgstr "啓用此選項以跳過無效行" -#: part/serializers.py:1953 +#: part/serializers.py:2017 msgid "Copy Substitute Parts" msgstr "複製替代品零件" -#: part/serializers.py:1954 +#: part/serializers.py:2018 msgid "Copy substitute parts when duplicate BOM items" msgstr "複製物料清單項目時複製替代品零件" @@ -8288,7 +8292,7 @@ msgstr "庫存項測試報告" #: report/templates/report/inventree_stock_report_merge.html:97 #: report/templates/report/inventree_test_report.html:153 -#: stock/serializers.py:641 +#: stock/serializers.py:655 msgid "Installed Items" msgstr "已安裝的項目" @@ -8361,7 +8365,7 @@ msgstr "按頂級位置篩選" msgid "Include sub-locations in filtered results" msgstr "在篩選結果中包含子地點" -#: stock/api.py:343 stock/serializers.py:1213 +#: stock/api.py:343 stock/serializers.py:1227 msgid "Parent Location" msgstr "上級地點" @@ -8445,7 +8449,7 @@ msgstr "過期日期前" msgid "Expiry date after" msgstr "過期日期後" -#: stock/api.py:936 stock/serializers.py:646 +#: stock/api.py:936 stock/serializers.py:660 msgid "Stale" msgstr "過期" @@ -8579,7 +8583,7 @@ msgstr "必須指定零件" msgid "Stock items cannot be located into structural stock locations!" msgstr "庫存項不能存放在結構性庫存地點!" -#: stock/models.py:938 stock/serializers.py:466 +#: stock/models.py:938 stock/serializers.py:469 msgid "Stock item cannot be created for virtual parts" msgstr "無法為虛擬零件創建庫存項" @@ -8624,7 +8628,7 @@ msgstr "為此庫存項目選擇匹配的供應商零件" msgid "Where is this stock item located?" msgstr "這個庫存物品在哪裏?" -#: stock/models.py:1064 stock/serializers.py:1649 +#: stock/models.py:1064 stock/serializers.py:1682 msgid "Packaging this stock item is stored in" msgstr "包裝此庫存物品存儲在" @@ -8640,7 +8644,7 @@ msgstr "此項目是否安裝在另一個項目中?" msgid "Serial number for this item" msgstr "此項目的序列號" -#: stock/models.py:1111 stock/serializers.py:1634 +#: stock/models.py:1111 stock/serializers.py:1667 msgid "Batch code for this stock item" msgstr "此庫存項的批號" @@ -8753,7 +8757,7 @@ msgstr "庫存項目前正在生產" msgid "Serialized stock cannot be merged" msgstr "序列化的庫存不能合併" -#: stock/models.py:2094 stock/serializers.py:1504 +#: stock/models.py:2094 stock/serializers.py:1537 msgid "Duplicate stock items" msgstr "複製庫存項" @@ -8877,7 +8881,7 @@ msgstr "選擇要生成序列號的零件" msgid "Quantity of serial numbers to generate" msgstr "要生成的序列號的數量" -#: stock/serializers.py:245 +#: stock/serializers.py:246 msgid "Test template for this result" msgstr "此結果的測試模板" @@ -8901,222 +8905,222 @@ msgstr "父項" msgid "Parent stock item" msgstr "父庫存項" -#: stock/serializers.py:451 +#: stock/serializers.py:454 msgid "Use pack size when adding: the quantity defined is the number of packs" msgstr "添加時使用包裝尺寸:定義的數量是包裝的數量" -#: stock/serializers.py:453 +#: stock/serializers.py:456 msgid "Use pack size" msgstr "使用包裝數" -#: stock/serializers.py:460 stock/serializers.py:715 +#: stock/serializers.py:463 stock/serializers.py:729 msgid "Enter serial numbers for new items" msgstr "輸入新項目的序列號" -#: stock/serializers.py:568 +#: stock/serializers.py:571 msgid "Supplier Part Number" msgstr "供應商零件編號" -#: stock/serializers.py:638 users/models.py:187 +#: stock/serializers.py:652 users/models.py:187 msgid "Expired" msgstr "已過期" -#: stock/serializers.py:644 +#: stock/serializers.py:658 msgid "Child Items" msgstr "子項目" -#: stock/serializers.py:648 +#: stock/serializers.py:662 msgid "Tracking Items" msgstr "跟蹤項目" -#: stock/serializers.py:654 +#: stock/serializers.py:668 msgid "Purchase price of this stock item, per unit or pack" msgstr "此庫存商品的購買價格,單位或包裝" -#: stock/serializers.py:692 +#: stock/serializers.py:706 msgid "Enter number of stock items to serialize" msgstr "輸入要序列化的庫存項目數量" -#: stock/serializers.py:700 stock/serializers.py:743 stock/serializers.py:781 -#: stock/serializers.py:919 +#: stock/serializers.py:714 stock/serializers.py:757 stock/serializers.py:795 +#: stock/serializers.py:933 msgid "No stock item provided" msgstr "未提供庫存項" -#: stock/serializers.py:708 +#: stock/serializers.py:722 #, python-brace-format msgid "Quantity must not exceed available stock quantity ({q})" msgstr "數量不得超過現有庫存量 ({q})" -#: stock/serializers.py:726 stock/serializers.py:1461 stock/serializers.py:1782 -#: stock/serializers.py:1831 +#: stock/serializers.py:740 stock/serializers.py:1494 stock/serializers.py:1815 +#: stock/serializers.py:1864 msgid "Destination stock location" msgstr "目標庫存位置" -#: stock/serializers.py:746 +#: stock/serializers.py:760 msgid "Serial numbers cannot be assigned to this part" msgstr "此零件不能分配序列號" -#: stock/serializers.py:766 +#: stock/serializers.py:780 msgid "Serial numbers already exist" msgstr "序列號已存在" -#: stock/serializers.py:816 +#: stock/serializers.py:830 msgid "Select stock item to install" msgstr "選擇要安裝的庫存項目" -#: stock/serializers.py:823 +#: stock/serializers.py:837 msgid "Quantity to Install" msgstr "安裝數量" -#: stock/serializers.py:824 +#: stock/serializers.py:838 msgid "Enter the quantity of items to install" msgstr "輸入要安裝的項目數量" -#: stock/serializers.py:829 stock/serializers.py:909 stock/serializers.py:1051 +#: stock/serializers.py:843 stock/serializers.py:923 stock/serializers.py:1065 msgid "Add transaction note (optional)" msgstr "添加交易記錄 (可選)" -#: stock/serializers.py:837 +#: stock/serializers.py:851 msgid "Quantity to install must be at least 1" msgstr "安裝數量必須至少為1" -#: stock/serializers.py:845 +#: stock/serializers.py:859 msgid "Stock item is unavailable" msgstr "庫存項不可用" -#: stock/serializers.py:856 +#: stock/serializers.py:870 msgid "Selected part is not in the Bill of Materials" msgstr "所選零件不在物料清單中" -#: stock/serializers.py:869 +#: stock/serializers.py:883 msgid "Quantity to install must not exceed available quantity" msgstr "安裝數量不得超過可用數量" -#: stock/serializers.py:904 +#: stock/serializers.py:918 msgid "Destination location for uninstalled item" msgstr "已卸載項目的目標位置" -#: stock/serializers.py:942 +#: stock/serializers.py:956 msgid "Select part to convert stock item into" msgstr "選擇要將庫存項目轉換為的零件" -#: stock/serializers.py:955 +#: stock/serializers.py:969 msgid "Selected part is not a valid option for conversion" msgstr "所選零件不是有效的轉換選項" -#: stock/serializers.py:972 +#: stock/serializers.py:986 msgid "Cannot convert stock item with assigned SupplierPart" msgstr "無法轉換已分配供應商零件的庫存項" -#: stock/serializers.py:1006 +#: stock/serializers.py:1020 msgid "Stock item status code" msgstr "庫存項狀態代碼" -#: stock/serializers.py:1035 +#: stock/serializers.py:1049 msgid "Select stock items to change status" msgstr "選擇要更改狀態的庫存項目" -#: stock/serializers.py:1041 +#: stock/serializers.py:1055 msgid "No stock items selected" msgstr "未選擇庫存商品" -#: stock/serializers.py:1148 stock/serializers.py:1219 +#: stock/serializers.py:1162 stock/serializers.py:1233 msgid "Sublocations" msgstr "轉租" -#: stock/serializers.py:1214 +#: stock/serializers.py:1228 msgid "Parent stock location" msgstr "上級庫存地點" -#: stock/serializers.py:1333 +#: stock/serializers.py:1366 msgid "Part must be salable" msgstr "零件必須可銷售" -#: stock/serializers.py:1337 +#: stock/serializers.py:1370 msgid "Item is allocated to a sales order" msgstr "物料已分配到銷售訂單" -#: stock/serializers.py:1341 +#: stock/serializers.py:1374 msgid "Item is allocated to a build order" msgstr "項目被分配到生產訂單中" -#: stock/serializers.py:1365 +#: stock/serializers.py:1398 msgid "Customer to assign stock items" msgstr "客户分配庫存項目" -#: stock/serializers.py:1371 +#: stock/serializers.py:1404 msgid "Selected company is not a customer" msgstr "所選公司不是客户" -#: stock/serializers.py:1379 +#: stock/serializers.py:1412 msgid "Stock assignment notes" msgstr "庫存分配説明" -#: stock/serializers.py:1389 stock/serializers.py:1677 +#: stock/serializers.py:1422 stock/serializers.py:1710 msgid "A list of stock items must be provided" msgstr "必須提供庫存物品清單" -#: stock/serializers.py:1468 +#: stock/serializers.py:1501 msgid "Stock merging notes" msgstr "庫存合併説明" -#: stock/serializers.py:1473 +#: stock/serializers.py:1506 msgid "Allow mismatched suppliers" msgstr "允許不匹配的供應商" -#: stock/serializers.py:1474 +#: stock/serializers.py:1507 msgid "Allow stock items with different supplier parts to be merged" msgstr "允許合併具有不同供應商零件的庫存項目" -#: stock/serializers.py:1479 +#: stock/serializers.py:1512 msgid "Allow mismatched status" msgstr "允許不匹配的狀態" -#: stock/serializers.py:1480 +#: stock/serializers.py:1513 msgid "Allow stock items with different status codes to be merged" msgstr "允許合併具有不同狀態代碼的庫存項目" -#: stock/serializers.py:1490 +#: stock/serializers.py:1523 msgid "At least two stock items must be provided" msgstr "必須提供至少兩件庫存物品" -#: stock/serializers.py:1557 +#: stock/serializers.py:1590 msgid "No Change" msgstr "無更改" -#: stock/serializers.py:1595 +#: stock/serializers.py:1628 msgid "StockItem primary key value" msgstr "庫存項主鍵值" -#: stock/serializers.py:1608 +#: stock/serializers.py:1641 msgid "Stock item is not in stock" msgstr "庫存項無庫存" -#: stock/serializers.py:1611 +#: stock/serializers.py:1644 msgid "Stock item is already in stock" msgstr "庫存項已在庫" -#: stock/serializers.py:1625 +#: stock/serializers.py:1658 msgid "Quantity must not be negative" msgstr "數量不可為負" -#: stock/serializers.py:1667 +#: stock/serializers.py:1700 msgid "Stock transaction notes" msgstr "庫存交易記錄" -#: stock/serializers.py:1837 +#: stock/serializers.py:1870 msgid "Merge into existing stock" msgstr "合併至現有庫存" -#: stock/serializers.py:1838 +#: stock/serializers.py:1871 msgid "Merge returned items into existing stock items if possible" msgstr "可行時將退回項目併入現有庫存" -#: stock/serializers.py:1881 +#: stock/serializers.py:1914 msgid "Next Serial Number" msgstr "下一個序列號" -#: stock/serializers.py:1887 +#: stock/serializers.py:1920 msgid "Previous Serial Number" msgstr "上一個序列號" @@ -9598,99 +9602,99 @@ msgstr "銷售訂單" msgid "Return Orders" msgstr "退貨訂單" -#: users/serializers.py:190 +#: users/serializers.py:186 msgid "Username" msgstr "用户名" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First Name" msgstr "名" -#: users/serializers.py:193 +#: users/serializers.py:189 msgid "First name of the user" msgstr "用户的名字(不包括姓氏)" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last Name" msgstr "姓" -#: users/serializers.py:197 +#: users/serializers.py:193 msgid "Last name of the user" msgstr "用户的姓氏" -#: users/serializers.py:201 +#: users/serializers.py:197 msgid "Email address of the user" msgstr "用户的電子郵件地址" -#: users/serializers.py:244 +#: users/serializers.py:240 msgid "User must be authenticated" msgstr "" -#: users/serializers.py:253 +#: users/serializers.py:249 msgid "Only a superuser can create a token for another user" msgstr "" -#: users/serializers.py:322 +#: users/serializers.py:329 msgid "Administrator" msgstr "" -#: users/serializers.py:323 +#: users/serializers.py:330 msgid "Does this user have administrative permissions" msgstr "" -#: users/serializers.py:328 users/serializers.py:417 +#: users/serializers.py:335 users/serializers.py:424 msgid "Superuser" msgstr "超級用户" -#: users/serializers.py:328 users/serializers.py:418 +#: users/serializers.py:335 users/serializers.py:425 msgid "Is this user a superuser" msgstr "此用户是否為超級用户" -#: users/serializers.py:332 users/serializers.py:425 +#: users/serializers.py:339 users/serializers.py:432 msgid "Is this user account active" msgstr "此用户帳户是否已激活" -#: users/serializers.py:344 +#: users/serializers.py:351 msgid "Only a superuser can adjust this field" msgstr "僅超級使用者可調整此欄位" -#: users/serializers.py:372 +#: users/serializers.py:379 msgid "Password" msgstr "密碼" -#: users/serializers.py:373 +#: users/serializers.py:380 msgid "Password for the user" msgstr "使用者密碼" -#: users/serializers.py:379 +#: users/serializers.py:386 msgid "Override warning" msgstr "忽略警告" -#: users/serializers.py:380 +#: users/serializers.py:387 msgid "Override the warning about password rules" msgstr "忽略密碼規則警告" -#: users/serializers.py:410 +#: users/serializers.py:417 msgid "Staff" msgstr "" -#: users/serializers.py:411 +#: users/serializers.py:418 msgid "Does this user have staff permissions" msgstr "" -#: users/serializers.py:461 +#: users/serializers.py:468 msgid "You do not have permission to create users" msgstr "您沒有建立使用者的權限" -#: users/serializers.py:482 +#: users/serializers.py:489 msgid "Your account has been created." msgstr "您的帳號已經建立完成。" -#: users/serializers.py:484 +#: users/serializers.py:491 msgid "Please use the password reset function to login" msgstr "請使用重設密碼功能來登入" -#: users/serializers.py:490 +#: users/serializers.py:497 msgid "Welcome to InvenTree" msgstr "歡迎使用 InvenTree" diff --git a/src/frontend/src/locales/ar/messages.po b/src/frontend/src/locales/ar/messages.po index e4312b0435..4cb7c02317 100644 --- a/src/frontend/src/locales/ar/messages.po +++ b/src/frontend/src/locales/ar/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ar\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Arabic\n" "Plural-Forms: nplurals=6; plural=(n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "نسخه مطابقة" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "تعديل" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "الإجراءات" msgid "Search" msgstr "بحث" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "" msgid "This page does not exist" msgstr "" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "" @@ -1604,8 +1637,8 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "" @@ -1613,11 +1646,11 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "الخيارات" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "" @@ -2617,11 +2650,11 @@ msgstr "" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/bg/messages.po b/src/frontend/src/locales/bg/messages.po index 280baef831..9bd1db7bc8 100644 --- a/src/frontend/src/locales/bg/messages.po +++ b/src/frontend/src/locales/bg/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: bg\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Bulgarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "" msgid "Search" msgstr "" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "" msgid "This page does not exist" msgstr "" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "" @@ -1604,8 +1637,8 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "" @@ -1613,11 +1646,11 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "" @@ -2617,11 +2650,11 @@ msgstr "" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/cs/messages.po b/src/frontend/src/locales/cs/messages.po index e6bc8f35dd..3d333f4a0d 100644 --- a/src/frontend/src/locales/cs/messages.po +++ b/src/frontend/src/locales/cs/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: cs\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Czech\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Chyba při vykreslování komponenty" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Došlo k chybě při vykreslování této komponenty. Více informací najdete v konzoli." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Zkopírováno" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Kopírovat" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Duplikovat" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Upravit" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Akce" msgid "Search" msgstr "Hledat" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Vybrat sloupce" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "V pořádku" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Administrace" msgid "Build Orders" msgstr "Vytvořené objednávky" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Není implementováno" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Tato funkce ještě není implementována" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Přístup odepřen" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "K provedení této akce nemáte oprávnění" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Neplatný kód odpovědi" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Server vrátil stav {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Vypršel časový limit" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "Vypršel časový limit žádosti." + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "Proces se nezdařil" msgid "Process completed successfully" msgstr "Proces byl úspěšně dokončen" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Chyba při vykreslování komponenty" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Došlo k chybě při vykreslování této komponenty. Více informací najdete v konzoli." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "Čárkový kód neodpovídá očekávanému typu modelu" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "Skenování čárového kódu se nezdařilo" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Skenování čárového kódu se nezdařilo" @@ -786,14 +832,6 @@ msgstr "Otevřít v administrátorském rozhraní" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Zkopírováno" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Kopírovat" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Tisk štítků" @@ -930,7 +968,7 @@ msgstr "Příští měsíc" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "Exportovat data" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Vymazat" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Stránka nebyla nalezena" msgid "This page does not exist" msgstr "Tato stránka neexistuje" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Přístup odepřen" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "Nemáte oprávnění k prohlížení této stránky." @@ -1604,8 +1637,8 @@ msgstr "Chyba serveru" msgid "A server error occurred" msgstr "Došlo k chybě serveru" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Chyba formuláře" @@ -1613,11 +1646,11 @@ msgstr "Chyba formuláře" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Existují chyby pro jedno nebo více polí formuláře" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Možnosti" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Akce čárového kódu" @@ -2617,11 +2650,11 @@ msgstr "Notifikace" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "Vrátit" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Počet" @@ -5351,38 +5384,10 @@ msgstr "Heslo bylo změněno" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Není implementováno" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Tato funkce ještě není implementována" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "K provedení této akce nemáte oprávnění" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Neplatný kód odpovědi" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Server vrátil stav {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Vypršel časový limit" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "Vypršel časový limit žádosti." - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "Exportování dat" @@ -5811,73 +5816,73 @@ msgstr "Došlo k neočekávané chybě" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "Skladová položka již byla naskenována" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "Chyba API" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "Nepodařilo se načíst data instance" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "Chyba skenování" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Vybrané prvky nejsou známé" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Vybráno více typů objektů" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "Akce ... " + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "Akce ... " - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "Skenování čárového kódu" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "Vstup čárového kódu" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Akce" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "Nejsou vybrány žádné položky" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "Skenovat a vybrat položky k provedení akcí" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "Skenovat a vybrat položky k provedení akcí" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "Vybráno {0} položek" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "Naskenované položky" @@ -9132,11 +9137,6 @@ msgstr "Přidělené řádky" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Vybrat sloupce" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Filtr" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Filtry tabulek" @@ -9435,12 +9435,12 @@ msgstr "Přidat filtr" msgid "Clear Filters" msgstr "Vymazat filtry" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Nebyl nalezen žádný záznam" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "Chyba při načítání možností tabulky" @@ -9468,7 +9468,7 @@ msgstr "Chyba při načítání možností tabulky" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "Server vrátil nesprávný datový typ" @@ -9477,7 +9477,7 @@ msgstr "Server vrátil nesprávný datový typ" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "Chyba při načítání údajů tabulky" @@ -9494,49 +9494,49 @@ msgstr "Chyba při načítání údajů tabulky" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "Zobrazit podrobnosti" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "Zobrazit {model}" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Odstranit vybrané položky" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "Jste si jisti, že chcete odstranit vybrané položky?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "Tuto akci nelze vrátit zpět" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "Položky smazány" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "Odstranění položek se nezdařilo" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "Vlastní tabulkové filtry jsou aktivní" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Odstranit vybrané záznamy" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Aktualizovat data" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "Aktivní filtry" diff --git a/src/frontend/src/locales/da/messages.po b/src/frontend/src/locales/da/messages.po index 09fd938be1..5536e49a7f 100644 --- a/src/frontend/src/locales/da/messages.po +++ b/src/frontend/src/locales/da/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: da\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Danish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Render fejl af komponent" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Der opstod en fejl under render af denne komponent. Se konsollen for mere information." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Kopieret" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Kopier" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Dupliker" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Rediger" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Handlinger" msgid "Search" msgstr "Søg" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Ok" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Admin" msgid "Build Orders" msgstr "Produktionsordrer" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Ikke implementeret" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Denne funktion er endnu ikke implementeret" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Adgang nægtet" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "Du har ikke tilladelse til at udføre denne handling" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Ugyldig Svar Kode" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Server returnerede status {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Timeout" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "Anmodningen udløb" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "Proces fejlede" msgid "Process completed successfully" msgstr "Processen er gennemført" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Render fejl af komponent" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Der opstod en fejl under render af denne komponent. Se konsollen for mere information." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "Stregkode matcher ikke den forventede modeltype" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "Kunne ikke håndtere stregkode" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Kunne ikke scanne stregkode" @@ -786,14 +832,6 @@ msgstr "Åbn i admin interface" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Kopieret" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Kopier" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Udskriver Etiketter" @@ -930,7 +968,7 @@ msgstr "Næste måned" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "Eksporter Data" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Ryd" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Side ikke fundet" msgid "This page does not exist" msgstr "Siden eksisterer ikke" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Adgang nægtet" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "Du har ikke tilladelse til at se denne side." @@ -1604,8 +1637,8 @@ msgstr "Serverfejl" msgid "A server error occurred" msgstr "Der opstod en serverfejl" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Formular Fejl" @@ -1613,11 +1646,11 @@ msgstr "Formular Fejl" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Fejl findes i et eller flere formularfelter" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Indstillinger" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Stregkode Handlinger" @@ -2617,11 +2650,11 @@ msgstr "Notifikationer" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "Retur" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Antal" @@ -5351,38 +5384,10 @@ msgstr "Adgangskode ændret" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Ikke implementeret" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Denne funktion er endnu ikke implementeret" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "Du har ikke tilladelse til at udføre denne handling" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Ugyldig Svar Kode" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Server returnerede status {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Timeout" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "Anmodningen udløb" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "Eksporterer data" @@ -5811,73 +5816,73 @@ msgstr "En uventet fejl opstod" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "Elementet er allerede scannet" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "API fejl" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "Scanningsfejl" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Valgte elementer er ikke kendte" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Flere objekter typer valgt" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "Stregkode Scanninger" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "Stregkode input" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Handling" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "Ingen Elementer Valgt" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "Skan og vælg elementer til at udføre handlinger" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "Skan og vælg elementer til at udføre handlinger" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} elementer valgt" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "Scannede Elementer" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Filter" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "Tilføj Filter" msgid "Clear Filters" msgstr "Nulstil filtre" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "Server returnerede forkert datatype" @@ -9477,7 +9477,7 @@ msgstr "Server returnerede forkert datatype" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "Fejl ved indlæsning af tabeldata" @@ -9494,49 +9494,49 @@ msgstr "Fejl ved indlæsning af tabeldata" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "Vis detaljer" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "Vis {model}" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Slet valgte del" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "Er du sikker på at du ønsker at slette de valgte varer?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "Denne handling kan ikke fortrydes" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "Elementer slettet" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "Kunne ikke slette elementer" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "Aktive Filtre" diff --git a/src/frontend/src/locales/de/messages.po b/src/frontend/src/locales/de/messages.po index f3820e5091..859dc00755 100644 --- a/src/frontend/src/locales/de/messages.po +++ b/src/frontend/src/locales/de/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: de\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: German\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Fehler beim darstellen der Komponente" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Beim Rendern dieser Komponente ist ein Fehler aufgetreten. Weitere Informationen stehen in der Konsole." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Kopiert" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Kopieren" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Duplizieren" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Bearbeiten" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Aktionen" msgid "Search" msgstr "Suche" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Spalten auswählen" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Bestanden" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Admin" msgid "Build Orders" msgstr "Bauaufträge" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Nicht implementiert" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Diese Funktion wurde noch nicht implementiert" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Zugriff verweigert" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "Du hast keine Berechtigung, diese Aktion durchzuführen" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Ungültiger Rückgabecode" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Server hat den Status {returnCode} zurückgegeben" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Zeitüberschreitung" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "Bei der Anfrage ist eine Zeitüberschreitung aufgetreten" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "Prozess fehlgeschlagen" msgid "Process completed successfully" msgstr "Prozess erfolgreich abgeschlossen" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Fehler beim darstellen der Komponente" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Beim Rendern dieser Komponente ist ein Fehler aufgetreten. Weitere Informationen stehen in der Konsole." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "Der Barcode stimmt nicht mit dem erwarteten Modelltyp überein" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "Fehler beim Verarbeiten des Barcodes" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Fehler beim Scannen des Barcodes" @@ -786,14 +832,6 @@ msgstr "Im Admin-Interface öffnen" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Kopiert" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Kopieren" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Drucke Etiketten" @@ -930,7 +968,7 @@ msgstr "Nächsten Monat" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "Daten exportieren" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Leeren" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Seite nicht gefunden" msgid "This page does not exist" msgstr "Diese Seite existiert nicht" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Zugriff verweigert" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "Ihnen fehlt die Berechtigung diese Seite anzuzeigen." @@ -1604,8 +1637,8 @@ msgstr "Serverfehler" msgid "A server error occurred" msgstr "Ein Serverfehler ist aufgetreten" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Formularfehler" @@ -1613,11 +1646,11 @@ msgstr "Formularfehler" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Fehler für ein oder mehrere Formularfelder vorhanden" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Optionen" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Barcode-Aktionen" @@ -2616,14 +2649,14 @@ msgstr "Benachrichtigungen" #~ msgid "Administrator Mode" #~ msgstr "Administrator Mode" -#: src/components/nav/Header.tsx:231 -msgid "Admin Mode" -msgstr "" - #: src/components/nav/Header.tsx:231 msgid "Superuser Mode" msgstr "Superuser-Modus" +#: src/components/nav/Header.tsx:231 +msgid "Admin Mode" +msgstr "" + #: src/components/nav/Header.tsx:237 msgid "The current user has elevated privileges and should not be used for regular usage." msgstr "Der aktuelle Benutzer hat erweiterte Berechtigungen und sollte nicht für die reguläre Nutzung verwendet werden." @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "Zurück" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Anzahl" @@ -5351,38 +5384,10 @@ msgstr "Passwort geändert" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Nicht implementiert" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Diese Funktion wurde noch nicht implementiert" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "Du hast keine Berechtigung, diese Aktion durchzuführen" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Ungültiger Rückgabecode" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Server hat den Status {returnCode} zurückgegeben" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Zeitüberschreitung" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "Bei der Anfrage ist eine Zeitüberschreitung aufgetreten" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "Daten werden exportiert" @@ -5811,73 +5816,73 @@ msgstr "Ein unerwarteter Fehler ist aufgetreten" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "Element wurde bereits gescannt" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "API-Fehler" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "Abrufen der Instanzdaten fehlgeschlagen" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "Scanfehler" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Ausgewählte Elemente sind nicht bekannt" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Mehrere Objekttypen ausgewählt" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "Aktionen ... " + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "Aktionen ... " - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "Barcode scannen" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "Barcode Input" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Aktion" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "Keine Elemente ausgewählt" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "Elemente scannen und auswählen um Aktionen auszuführen" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "Elemente scannen und auswählen um Aktionen auszuführen" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} Element(e) ausgewählt" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "Gescannte Elemente" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Spalten auswählen" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Filter" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Tabellenfilter" @@ -9435,12 +9435,12 @@ msgstr "Filter hinzufügen" msgid "Clear Filters" msgstr "Filter zurücksetzen" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Keine Einträge gefunden" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "Fehler beim Laden der Tabellenoptionen" @@ -9468,7 +9468,7 @@ msgstr "Fehler beim Laden der Tabellenoptionen" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "Der Server hat einen falschen Datentyp zurückgegeben" @@ -9477,7 +9477,7 @@ msgstr "Der Server hat einen falschen Datentyp zurückgegeben" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "Fehler beim Laden der Tabellendaten" @@ -9494,49 +9494,49 @@ msgstr "Fehler beim Laden der Tabellendaten" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr " Details anzeigen" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Ausgewählte Elemente löschen" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "Möchten Sie die ausgewählten Elemente wirklich löschen?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "Diese Aktion kann nicht rückgängig gemacht werden" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "Elemente gelöscht" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "Fehler beim Löschen der Elemente" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "Benutzerdefinierte Tabellenfilter sind aktiv" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Ausgewählte Datensätze löschen" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Daten aktualisieren" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "Aktive Filter" diff --git a/src/frontend/src/locales/el/messages.po b/src/frontend/src/locales/el/messages.po index 1844749c2e..194fcfdbbd 100644 --- a/src/frontend/src/locales/el/messages.po +++ b/src/frontend/src/locales/el/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: el\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Greek\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Σφάλμα κατά την απόδοση του component" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Αντιγράφηκε" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Αντιγραφή" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Δημιουργία αντιγράφου" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Επεξεργασία" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Ενέργειες" msgid "Search" msgstr "Αναζήτηση" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Επιλογή Στηλών" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Επιτυχία" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Διαχειριστής" msgid "Build Orders" msgstr "Εντολές Κατασκευής" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Δεν έχει υλοποιηθεί" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Αυτή η λειτουργία δεν έχει υλοποιηθεί ακόμη" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Άρνηση πρόσβασης" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "Δεν έχετε δικαιώματα για να πραγματοποιήσετε αυτή την ενέργεια" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Μη έγκυρος κωδικός επιστροφής" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Ο διακομιστής επέστρεψε κατάσταση {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Λήξη χρόνου" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "Το αίτημα έληξε χρονικά" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "Η διαδικασία απέτυχε" msgid "Process completed successfully" msgstr "Η διαδικασία ολοκληρώθηκε επιτυχώς" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Σφάλμα κατά την απόδοση του component" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "Ο γραμμοκώδικας δεν ταιριάζει με τον αν #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "Αποτυχία επεξεργασίας γραμμοκώδικα" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Αποτυχία σάρωσης γραμμοκώδικα" @@ -786,14 +832,6 @@ msgstr "Άνοιγμα στο περιβάλλον διαχειριστή" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Αντιγράφηκε" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Αντιγραφή" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Εκτύπωση Ετικετών" @@ -930,7 +968,7 @@ msgstr "Επόμενος μήνας" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Εκκαθάριση" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Η σελίδα δεν βρέθηκε" msgid "This page does not exist" msgstr "Αυτή η σελίδα δεν υπάρχει" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Άρνηση πρόσβασης" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "Δεν έχετε δικαίωμα πρόσβασης σε αυτήν τη σελίδα." @@ -1604,8 +1637,8 @@ msgstr "Σφάλμα διακομιστή" msgid "A server error occurred" msgstr "Προέκυψε σφάλμα διακομιστή" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Σφάλμα Φόρμας" @@ -1613,11 +1646,11 @@ msgstr "Σφάλμα Φόρμας" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Υπάρχουν σφάλματα σε ένα ή περισσότερα πεδία της φόρμας" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Επιλογές" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Ενέργειες Barcode" @@ -2617,11 +2650,11 @@ msgstr "Ειδοποιήσεις" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "Επιστροφή" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Καταμέτρηση" @@ -5351,38 +5384,10 @@ msgstr "Ο κωδικός άλλαξε" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Δεν έχει υλοποιηθεί" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Αυτή η λειτουργία δεν έχει υλοποιηθεί ακόμη" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "Δεν έχετε δικαιώματα για να πραγματοποιήσετε αυτή την ενέργεια" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Μη έγκυρος κωδικός επιστροφής" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Ο διακομιστής επέστρεψε κατάσταση {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Λήξη χρόνου" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "Το αίτημα έληξε χρονικά" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "Εξαγωγή δεδομένων" @@ -5811,73 +5816,73 @@ msgstr "Προέκυψε ένα απρόσμενο σφάλμα" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "Το Προϊόν έχει ήδη σαρωθεί" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "Σφάλμα API" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "Αποτυχία λήψης δεδομένων της εγκατάστασης" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "Σφάλμα σάρωσης" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Τα επιλεγμένα στοιχεία δεν είναι γνωστά" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Επιλέχθηκαν πολλοί τύποι Προϊόντων" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "Ενέργειες ... " + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "Ενέργειες ... " - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "Σάρωση barcode" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "Εισαγωγή barcode" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Ενέργεια" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "Δεν έχουν επιλεγεί Προϊόντα" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "Σαρώστε και επιλέξτε Προϊόντα για να εκτελέσετε ενέργειες" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "Σαρώστε και επιλέξτε Προϊόντα για να εκτελέσετε ενέργειες" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "Έχουν επιλεγεί {0} Προϊόντα" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "Σαρωμένα Προϊόντα" @@ -9132,11 +9137,6 @@ msgstr "Κατανεμημένες γραμμές" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Επιλογή Στηλών" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Φίλτρο" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Φίλτρα Πίνακα" @@ -9435,12 +9435,12 @@ msgstr "Προσθήκη Φίλτρου" msgid "Clear Filters" msgstr "Καθαρισμός Φίλτρων" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Δεν βρέθηκαν εγγραφές" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "Σφάλμα φόρτωσης επιλογών πίνακα" @@ -9468,7 +9468,7 @@ msgstr "Σφάλμα φόρτωσης επιλογών πίνακα" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "Ο διακομιστής επέστρεψε λανθασμένο τύπο δεδομένων" @@ -9477,7 +9477,7 @@ msgstr "Ο διακομιστής επέστρεψε λανθασμένο τύπ #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "Σφάλμα φόρτωσης δεδομένων πίνακα" @@ -9494,49 +9494,49 @@ msgstr "Σφάλμα φόρτωσης δεδομένων πίνακα" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "Προβολή λεπτομερειών" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "Προβολή {model}" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Διαγραφή Επιλεγμένων Ειδών" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "Είστε βέβαιοι ότι θέλετε να διαγράψετε τα επιλεγμένα είδη;" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "Αυτή η ενέργεια δεν μπορεί να αναιρεθεί" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "Τα είδη διαγράφηκαν" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "Αποτυχία διαγραφής ειδών" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "Τα προσαρμοσμένα φίλτρα πίνακα είναι ενεργά" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Διαγραφή επιλεγμένων εγγραφών" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Ανανέωση δεδομένων" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "Ενεργά Φίλτρα" diff --git a/src/frontend/src/locales/en/messages.po b/src/frontend/src/locales/en/messages.po index 32a2d8f0ef..cca4a2ad4d 100644 --- a/src/frontend/src/locales/en/messages.po +++ b/src/frontend/src/locales/en/messages.po @@ -13,9 +13,25 @@ msgstr "" "Language-Team: \n" "Plural-Forms: \n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Error rendering component" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "An error occurred while rendering this component. Refer to the console for more information." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Copied" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Copy" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Duplicate" @@ -25,7 +41,7 @@ msgid "Edit" msgstr "Edit" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -72,6 +88,11 @@ msgstr "Actions" msgid "Search" msgstr "Search" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Select Columns" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Pass" @@ -577,7 +598,7 @@ msgstr "Selection Entries" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -603,6 +624,39 @@ msgstr "Admin" msgid "Build Orders" msgstr "Build Orders" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Not implemented" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "This feature is not yet implemented" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Permission Denied" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "You do not have permission to perform this action" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Invalid Return Code" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Server returned status {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Timeout" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "The request timed out" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -612,14 +666,6 @@ msgstr "Process failed" msgid "Process completed successfully" msgstr "Process completed successfully" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Error rendering component" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "An error occurred while rendering this component. Refer to the console for more information." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -699,7 +745,7 @@ msgstr "Barcode does not match the expected model type" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -713,7 +759,7 @@ msgid "Failed to handle barcode" msgstr "Failed to handle barcode" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Failed to scan barcode" @@ -781,14 +827,6 @@ msgstr "Open in admin interface" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Copied" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Copy" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Printing Labels" @@ -925,7 +963,7 @@ msgstr "Next month" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "Export data" @@ -1346,7 +1384,7 @@ msgid "Clear" msgstr "Clear" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1582,11 +1620,6 @@ msgstr "Page Not Found" msgid "This page does not exist" msgstr "This page does not exist" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Permission Denied" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "You do not have permission to view this page." @@ -1599,8 +1632,8 @@ msgstr "Server Error" msgid "A server error occurred" msgstr "A server error occurred" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Form Error" @@ -1608,11 +1641,11 @@ msgstr "Form Error" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Errors exist for one or more form fields" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2177,8 +2210,8 @@ msgstr "Options" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Barcode Actions" @@ -2611,14 +2644,14 @@ msgstr "Notifications" #~ msgid "Administrator Mode" #~ msgstr "Administrator Mode" -#: src/components/nav/Header.tsx:231 -msgid "Admin Mode" -msgstr "Admin Mode" - #: src/components/nav/Header.tsx:231 msgid "Superuser Mode" msgstr "Superuser Mode" +#: src/components/nav/Header.tsx:231 +msgid "Admin Mode" +msgstr "Admin Mode" + #: src/components/nav/Header.tsx:237 msgid "The current user has elevated privileges and should not be used for regular usage." msgstr "The current user has elevated privileges and should not be used for regular usage." @@ -5002,7 +5035,7 @@ msgid "Return" msgstr "Return" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Count" @@ -5346,38 +5379,10 @@ msgstr "Password Changed" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Not implemented" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "This feature is not yet implemented" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "You do not have permission to perform this action" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Invalid Return Code" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Server returned status {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Timeout" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "The request timed out" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "Exporting Data" @@ -5806,73 +5811,73 @@ msgstr "An unexpected error has occurred" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "Item already scanned" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "API Error" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "Failed to fetch instance data" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "Scan Error" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Selected elements are not known" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Multiple object types selected" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "Actions ... " + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "Actions ... " - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "Barcode Scanning" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "Barcode Input" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Action" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "No Items Selected" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "Scan and select items to perform actions" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "Scan and select items to perform actions" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} items selected" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "Scanned Items" @@ -9127,11 +9132,6 @@ msgstr "Allocated Lines" msgid "Line Item" msgstr "Line Item" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Select Columns" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9418,7 +9418,7 @@ msgid "Filter" msgstr "Filter" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Table Filters" @@ -9430,12 +9430,12 @@ msgstr "Add Filter" msgid "Clear Filters" msgstr "Clear Filters" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "No records found" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "Error loading table options" @@ -9463,7 +9463,7 @@ msgstr "Error loading table options" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "Server returned incorrect data type" @@ -9472,7 +9472,7 @@ msgstr "Server returned incorrect data type" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "Error loading table data" @@ -9489,49 +9489,49 @@ msgstr "Error loading table data" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "View details" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "View {model}" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Delete Selected Items" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "Are you sure you want to delete the selected items?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "This action cannot be undone" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "Items deleted" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "Failed to delete items" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "Custom table filters are active" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Delete selected records" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Refresh data" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "Active Filters" diff --git a/src/frontend/src/locales/es/messages.po b/src/frontend/src/locales/es/messages.po index a862afc9a3..d54c1f8b96 100644 --- a/src/frontend/src/locales/es/messages.po +++ b/src/frontend/src/locales/es/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: es\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Spanish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Error al procesar el componente" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Ocurrió un error mientras se renderizaba este componente. Consulte la consola para más información." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Copiado" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Copiar" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Duplicar" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Editar" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Acciones" msgid "Search" msgstr "Buscar" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Seleccionar columnas" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Aceptar" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Admin" msgid "Build Orders" msgstr "Órdenes de construcción" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "No implementado" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Esta función aún no está implementada" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Permiso denegado" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "No tienes permisos para realizar esta acción" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Tiempo de espera superado" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "La solicitud ha expirado" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Error al procesar el componente" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Ocurrió un error mientras se renderizaba este componente. Consulte la consola para más información." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Error al escanear código de barras" @@ -786,14 +832,6 @@ msgstr "Abrir en interfaz de administración" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Copiado" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Copiar" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Imprimir Etiquetas" @@ -930,7 +968,7 @@ msgstr "Siguiente mes" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Borrar" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Página no encontrada" msgid "This page does not exist" msgstr "Esta página no existe" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Permiso denegado" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "No tiene permisos para ver esta página." @@ -1604,8 +1637,8 @@ msgstr "Error del servidor" msgid "A server error occurred" msgstr "Ha ocurrido un error con el servidor" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Error de formulario" @@ -1613,11 +1646,11 @@ msgstr "Error de formulario" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Existen errores para uno o más campos del formulario" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Opciones" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Acciones de código de barras" @@ -2617,11 +2650,11 @@ msgstr "Notificaciones" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "Devolver" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Contar" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "No implementado" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Esta función aún no está implementada" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "No tienes permisos para realizar esta acción" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Tiempo de espera superado" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "La solicitud ha expirado" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "Se ha producido un error inesperado" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "Artículo ya escaneado" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "Error de API" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "Error al recuperar datos de instancia" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "Error de Escaneo" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Se desconocen los elementos seleccionados" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Varios tipos de objetos seleccionados" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "Acciones ... " + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "Acciones ... " - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "Escaneo de código de barras" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "Entrada de Código de barras" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Acción" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "No Hay Artículos Seleccionados" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "Escanear y seleccionar artículos para realizar acciones" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "Escanear y seleccionar artículos para realizar acciones" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} elementos seleccionados" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Seleccionar columnas" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Filtro" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Filtros de tabla" @@ -9435,12 +9435,12 @@ msgstr "Añadir filtro" msgid "Clear Filters" msgstr "Borrar filtros" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Ningún registro encontrado" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "El servidor devolvió un tipo de datos incorrecto" @@ -9477,7 +9477,7 @@ msgstr "El servidor devolvió un tipo de datos incorrecto" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Borrar los elementos seleccionados" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "¿Confirma que desea eliminar los elementos seleccionados?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "Esta acción no se puede deshacer" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "Los filtros personalizados de tabla están activos" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Eliminar los registros seleccionados" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Refrescar datos" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/es_MX/messages.po b/src/frontend/src/locales/es_MX/messages.po index 2af3f7c505..3e21efc843 100644 --- a/src/frontend/src/locales/es_MX/messages.po +++ b/src/frontend/src/locales/es_MX/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: es_MX\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Spanish, Mexico\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Error al renderizar componente" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Ocurrió un error mientras se renderizaba este componente. Consulte la consola para más información." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Copiado" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Copiar" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Duplicar" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Editar" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Acciones" msgid "Search" msgstr "Buscar" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Aprobado" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Admin" msgid "Build Orders" msgstr "Ordenes de Producción" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "No implementado" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Esta función aún no está implementada" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Permiso denegado" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "No tienes permisos para realizar esta acción" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Código de devolución inválido" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "El servidor devolvió el estado {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Tiempo de espera superado" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "La solicitud ha expirado" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "Proceso fallido" msgid "Process completed successfully" msgstr "Proceso completó correctamente" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Error al renderizar componente" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Ocurrió un error mientras se renderizaba este componente. Consulte la consola para más información." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "Código de barras no coincide con el modelo esperado" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "No se pudo manejar el código de barras" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "No se pudo escanear el código de barras" @@ -786,14 +832,6 @@ msgstr "Abrir en interfaz de administrador" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Copiado" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Copiar" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Imprimir etiquetas" @@ -930,7 +968,7 @@ msgstr "Siguiente mes" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "Exportar datos" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Borrar" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Página no encontrada" msgid "This page does not exist" msgstr "Esta página no existe" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Permiso denegado" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "No tiene permisos para ver esta página." @@ -1604,8 +1637,8 @@ msgstr "Error del servidor" msgid "A server error occurred" msgstr "Ha ocurrido un error con el servidor" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Error de formulario" @@ -1613,11 +1646,11 @@ msgstr "Error de formulario" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Existen errores para uno o más campos del formulario" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Opciones" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Acciones de código de barras" @@ -2617,11 +2650,11 @@ msgstr "Notificaciones" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "Devolver" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Contar" @@ -5351,38 +5384,10 @@ msgstr "Contraseña Cambiada" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "No implementado" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Esta función aún no está implementada" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "No tienes permisos para realizar esta acción" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Código de devolución inválido" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "El servidor devolvió el estado {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Tiempo de espera superado" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "La solicitud ha expirado" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "Se ha producido un error inesperado" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "Error de API" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Se desconocen los elementos seleccionados" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Varios tipos de objetos seleccionados" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "Escaneo de código de barras" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Acción" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} artículos seleccionados" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Filtro" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Filtros de tabla" @@ -9435,12 +9435,12 @@ msgstr "Añadir filtro" msgid "Clear Filters" msgstr "Borrar Filtros" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Ningún registro encontrado" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "El servidor devolvió un tipo de datos incorrecto" @@ -9477,7 +9477,7 @@ msgstr "El servidor devolvió un tipo de datos incorrecto" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Eliminar Elementos Seleccionados" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "Esta acción no se puede deshacer" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "Los filtros personalizados de tabla están activos" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/et/messages.po b/src/frontend/src/locales/et/messages.po index bbb3468cf8..ce880f8da5 100644 --- a/src/frontend/src/locales/et/messages.po +++ b/src/frontend/src/locales/et/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: et\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Estonian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Komponendi renderdamise tõrge" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Komponendi renderimisel tekkis viga. Lisateabe saamiseks vaadake konsooli." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Kopeeritud" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Kopeeri" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Korduma" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Muuda" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Toimingud" msgid "Search" msgstr "Otsing" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Vali veerud" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Läbi" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Admin" msgid "Build Orders" msgstr "" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "See funktsioon pole veel rakendatud" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Juurdepääs keelatud" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "Vabandame, teil pole luba sellele toimingule" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Vigane tagastamise kuud" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Server tagastas oleku {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Aegumine" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "Viimane päring aegus" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "Töötlemine ebaõnnestus" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Komponendi renderdamise tõrge" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Komponendi renderimisel tekkis viga. Lisateabe saamiseks vaadake konsooli." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "Ava admini liideses" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Kopeeritud" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Kopeeri" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Siltide printimine" @@ -930,7 +968,7 @@ msgstr "Järgmine kuu" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "Ekspordi andmed" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Puhasta" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Lehte ei leitud" msgid "This page does not exist" msgstr "Seda lehte ei eksisteeri" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Juurdepääs keelatud" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "Teil ei ole selle lehe vaatamiseks luba." @@ -1604,8 +1637,8 @@ msgstr "Serveri viga" msgid "A server error occurred" msgstr "Tekkis serveri viga" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Vormiviga" @@ -1613,11 +1646,11 @@ msgstr "Vormiviga" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Ühes või mitmes vormiväljas on vigu" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Valikud" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Vöötkoodi Toimingud" @@ -2617,11 +2650,11 @@ msgstr "Teavitused" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Kogus" @@ -5351,38 +5384,10 @@ msgstr "Parool on muudetud" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "See funktsioon pole veel rakendatud" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "Vabandame, teil pole luba sellele toimingule" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Vigane tagastamise kuud" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Server tagastas oleku {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Aegumine" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "Viimane päring aegus" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "Andmete eksportimine" @@ -5811,73 +5816,73 @@ msgstr "Tekkis ootamatu viga" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "Ühik on juba skännitud" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "API viga" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Valitud elemendid pole teada" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Valitud on mitut tüüpi objektid" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Tegevus" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Vali veerud" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Filter" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Tabeli filtrid" @@ -9435,12 +9435,12 @@ msgstr "Lisa filter" msgid "Clear Filters" msgstr "Tühjenda filtrid" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Kirjeid ei leitud" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "Server tagastas ebatäpse andmeühiku" @@ -9477,7 +9477,7 @@ msgstr "Server tagastas ebatäpse andmeühiku" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "Vaata üksikasju" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "Vaata {model}" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Kustutage valitud kirjed" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "Kas olete kindel, et soovite kustutada valitud elemendid?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Kustutage valitud kirjed" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/fa/messages.po b/src/frontend/src/locales/fa/messages.po index e355be893c..90f3d82abe 100644 --- a/src/frontend/src/locales/fa/messages.po +++ b/src/frontend/src/locales/fa/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fa\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Persian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "" msgid "Search" msgstr "" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "" msgid "This page does not exist" msgstr "" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "" @@ -1604,8 +1637,8 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "" @@ -1613,11 +1646,11 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "" @@ -2617,11 +2650,11 @@ msgstr "" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/fi/messages.po b/src/frontend/src/locales/fi/messages.po index 2ef20bf408..cdea790b2b 100644 --- a/src/frontend/src/locales/fi/messages.po +++ b/src/frontend/src/locales/fi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Finnish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "" msgid "Search" msgstr "" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "" msgid "This page does not exist" msgstr "" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "" @@ -1604,8 +1637,8 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "" @@ -1613,11 +1646,11 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "" @@ -2617,11 +2650,11 @@ msgstr "" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/fr/messages.po b/src/frontend/src/locales/fr/messages.po index 9e4bee039e..d1fb1e4ee5 100644 --- a/src/frontend/src/locales/fr/messages.po +++ b/src/frontend/src/locales/fr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: fr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: French\n" "Plural-Forms: nplurals=2; plural=(n > 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Erreur lors de l'affichage de l'application" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Une erreur s'est produite lors du rendu de ce composant. Reportez-vous à la console pour plus d'informations." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Copié" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Copier" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Dupliquer" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Éditer" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Actions" msgid "Search" msgstr "Rechercher" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Sélectionner les colonnes" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Réussi" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Administrateur" msgid "Build Orders" msgstr "Ordres de fabrication" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Non implémenté" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Cette fonctionnalité n’a pas encore été mise en œuvre." + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Permission refusée" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "Vous n'êtes pas autorisé à effectuer cette action" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Code de retour invalide" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Statut du serveur renvoie {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Temps d'attente dépassé" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "La requête a expiré" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "Processus échoué" msgid "Process completed successfully" msgstr "Processus terminé avec succès" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Erreur lors de l'affichage de l'application" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Une erreur s'est produite lors du rendu de ce composant. Reportez-vous à la console pour plus d'informations." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "Le Code-barre ne correspond pas au type de modèle attendu" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "Erreur de traitement du Code-barre" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Échec de la numérisation du code-barres" @@ -786,14 +832,6 @@ msgstr "Ouvrir dans l'interface d'administration" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Copié" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Copier" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Impression d'étiquettes" @@ -930,7 +968,7 @@ msgstr "Prochain mois" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "Export des données" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Effacer" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Page introuvable" msgid "This page does not exist" msgstr "Cette page n'existe pas" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Permission refusée" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "Vous n’avez pas la permission de voir cette page." @@ -1604,8 +1637,8 @@ msgstr "Erreur serveur" msgid "A server error occurred" msgstr "Une erreur serveur s'est produite" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Erreur de formulaire" @@ -1613,11 +1646,11 @@ msgstr "Erreur de formulaire" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Il existe des erreurs pour un ou plusieurs champs du formulaire" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Options" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Actions de code-barres" @@ -2617,11 +2650,11 @@ msgstr "Notifications" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "Retour" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Compter" @@ -5351,38 +5384,10 @@ msgstr "Mot de passe changé" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Non implémenté" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Cette fonctionnalité n’a pas encore été mise en œuvre." - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "Vous n'êtes pas autorisé à effectuer cette action" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Code de retour invalide" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Statut du serveur renvoie {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Temps d'attente dépassé" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "La requête a expiré" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "Export de données" @@ -5811,73 +5816,73 @@ msgstr "Une erreur inattendue est survenue" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "Article déjà scanné" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "Erreur API" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "La requête sur l'instance de la data a échoué" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "Erreur de scan" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Les éléments sélectionnés ne sont pas connus" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Plusieurs types d'objets sélectionnés" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "Actions … " + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "Actions … " - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "Scan du code bar" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "Saisie des codes-barres" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Action" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "Pas d'articles sélectionnés" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "Scan et sélection des articles sur lesquels faire des actions" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "Scan et sélection des articles sur lesquels faire des actions" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} articles sélectionnés" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "Articles scannés" @@ -9132,11 +9137,6 @@ msgstr "Lignes allouées" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Sélectionner les colonnes" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Filtrer" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Filtres des tables" @@ -9435,12 +9435,12 @@ msgstr "Ajouter un filtre" msgid "Clear Filters" msgstr "Effacer filtres" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Pas d'enregistrement trouvé" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "Impossible de charger la table des options" @@ -9468,7 +9468,7 @@ msgstr "Impossible de charger la table des options" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "Le serveur à retourner un type de donnée incorrect" @@ -9477,7 +9477,7 @@ msgstr "Le serveur à retourner un type de donnée incorrect" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "Impossible de charger le tableau de données" @@ -9494,49 +9494,49 @@ msgstr "Impossible de charger le tableau de données" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "Vue des détails" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Supprimer les éléments sélectionnés" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "Êtes-vous sûr de vouloir supprimer les éléments sélectionnés ?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "Cette action ne peut pas être annulée" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "Articles supprimés" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "Echecs pour supprimer les articles" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "Filtre de tableau personnalisés sont activés" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Supprimer les enregistrements sélectionnés" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Actualiser les données" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "Filtres actifs" diff --git a/src/frontend/src/locales/he/messages.po b/src/frontend/src/locales/he/messages.po index f4889b6ac0..95a4298a7e 100644 --- a/src/frontend/src/locales/he/messages.po +++ b/src/frontend/src/locales/he/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: he\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Hebrew\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "שגיאה בעיבוד הרכיב" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "אירעה שגיאה בעת עיבוד רכיב זה. עיין במסוף למידע נוסף." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "מועתק" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "העתק" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Duplicate" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "ערוך" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "" msgid "Search" msgstr "חפש" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "עבר" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "הרשאה נדחתה" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "שגיאה בעיבוד הרכיב" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "אירעה שגיאה בעת עיבוד רכיב זה. עיין במסוף למידע נוסף." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "פתח בממשק הניהול" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "מועתק" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "העתק" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "נקה" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "הדף לא נמצא" msgid "This page does not exist" msgstr "הדף הזה לא קיים" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "הרשאה נדחתה" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "אין לך הרשאה לצפות בדף זה." @@ -1604,8 +1637,8 @@ msgstr "שגיאת שרת" msgid "A server error occurred" msgstr "אירעה שגיאת שרת" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "שגיאת טופס" @@ -1613,11 +1646,11 @@ msgstr "שגיאת טופס" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "קיימות שגיאות עבור שדה טופס אחד או יותר" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "פעולות ברקוד" @@ -2617,11 +2650,11 @@ msgstr "התראות" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/hi/messages.po b/src/frontend/src/locales/hi/messages.po index 6e53feae9e..55210c2236 100644 --- a/src/frontend/src/locales/hi/messages.po +++ b/src/frontend/src/locales/hi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Hindi\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "" msgid "Search" msgstr "" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "" msgid "This page does not exist" msgstr "" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "" @@ -1604,8 +1637,8 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "" @@ -1613,11 +1646,11 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "" @@ -2617,11 +2650,11 @@ msgstr "" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/hu/messages.po b/src/frontend/src/locales/hu/messages.po index ef22363675..f08924fb1c 100644 --- a/src/frontend/src/locales/hu/messages.po +++ b/src/frontend/src/locales/hu/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: hu\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Hungarian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Hiba a komponens renderelése közben" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Hiba történt ennek a komponensnek a renderelése közben. Nézze a konzolt további információkért." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Másolva" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Másolás" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Másolás" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Szerkesztés" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Műveletek" msgid "Search" msgstr "Keresés" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Oszlopok kiválasztása" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Sikeres" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Adminisztrátor" msgid "Build Orders" msgstr "Gyártási utasítások" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Nincs implementálva" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Ez a funkció még nem készült el" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Nem jogosult" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "Nincs jogosultságod ehhez a művelethez" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Érvénytelen visszatérési kód" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Szerver válaszkódja {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Időtúllépés" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "A kérés túllépte az időkorlátot" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "A folyamat sikertelen" msgid "Process completed successfully" msgstr "Folyamat sikeresen befejezve" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Hiba a komponens renderelése közben" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Hiba történt ennek a komponensnek a renderelése közben. Nézze a konzolt további információkért." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "A vonalkód nem egyezik a várt model típussal" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "Sikertelen a vonalkód kezelése" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Vonalkód beolvasás sikertelen" @@ -786,14 +832,6 @@ msgstr "Megnyitás adminisztrátori felületen" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Másolva" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Másolás" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Címkék nyomtatása" @@ -930,7 +968,7 @@ msgstr "Következő hónap" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "Adatok exportálása" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Törlés" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Oldal nem található" msgid "This page does not exist" msgstr "Ez az oldal nem létezik" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Nem jogosult" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "Önnek nincs jogosultsága megnézni ezt az oldalt." @@ -1604,8 +1637,8 @@ msgstr "Szerver hiba" msgid "A server error occurred" msgstr "Szerver hiba történt" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Form hiba" @@ -1613,11 +1646,11 @@ msgstr "Form hiba" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Egy vagy több mező hibát jelez" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Opciók" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Vonalkód műveletek" @@ -2617,11 +2650,11 @@ msgstr "Értesítések" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "Visszavétel" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Mennyiség" @@ -5351,38 +5384,10 @@ msgstr "Jelszó megváltozott" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Nincs implementálva" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Ez a funkció még nem készült el" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "Nincs jogosultságod ehhez a művelethez" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Érvénytelen visszatérési kód" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Szerver válaszkódja {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Időtúllépés" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "A kérés túllépte az időkorlátot" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "Adatok exportálása" @@ -5811,73 +5816,73 @@ msgstr "Váratlan hiba történt" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "Tétel már beolvasva" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "API Hiba" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "Példány adatok lekérése sikertelen" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "Beolvasási hiba" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Kiválasztott elemek ismeretlenek" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Többféle objektum típus lett kiválasztva" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "Műveletek ... " + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "Műveletek ... " - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "Vonalkód beolvasás" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "Vonalkód bevitel" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Művelet" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "Nincs kiválasztott tétel" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "Olvassa be és válassza ki a tételeket a műveletek végrehajtásához" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "Olvassa be és válassza ki a tételeket a műveletek végrehajtásához" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} kiválasztott tétel" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "Beolvasott cikkek" @@ -9132,11 +9137,6 @@ msgstr "Lefoglalt sorok" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Oszlopok kiválasztása" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Szűrő" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Táblázat szűrők" @@ -9435,12 +9435,12 @@ msgstr "Szűrő hozzáadása" msgid "Clear Filters" msgstr "Szűrők törlése" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Nincs találat" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "Hiba a táblázat beállítások betöltésekor" @@ -9468,7 +9468,7 @@ msgstr "Hiba a táblázat beállítások betöltésekor" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "A szerver hibás adattípust küldött vissza" @@ -9477,7 +9477,7 @@ msgstr "A szerver hibás adattípust küldött vissza" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "Hiba a táblázat adatok betöltésekor" @@ -9494,49 +9494,49 @@ msgstr "Hiba a táblázat adatok betöltésekor" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "Részletek megtekintése" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "{model} megtekintése" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Kiválasztott elemek törlése" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "Biztosan törölni kívánja a kiválasztott tételeket?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "Ez a művelet nem vonható vissza" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "Elemek törölve" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "Nem sikerült törölni a tételeket" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "Egyéni táblázat szűrők aktívak" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Kiválasztott rekordok törlése" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Adatok frissítése" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "Aktív Szűrők" diff --git a/src/frontend/src/locales/id/messages.po b/src/frontend/src/locales/id/messages.po index 4d6b7a2c25..fd2e96f181 100644 --- a/src/frontend/src/locales/id/messages.po +++ b/src/frontend/src/locales/id/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: id\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Indonesian\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Komponen Rendering Galat" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Tersalin" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Salin" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Sunting" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "" msgid "Search" msgstr "Cari" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Izin Ditolak" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Komponen Rendering Galat" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Tersalin" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Salin" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Halaman tidak ditemukan" msgid "This page does not exist" msgstr "" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Izin Ditolak" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "Anda tidak memiliki izin untuk melihat halaman ini." @@ -1604,8 +1637,8 @@ msgstr "Galat Server" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "" @@ -1613,11 +1646,11 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Pilihan" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "" @@ -2617,11 +2650,11 @@ msgstr "Notifikasi" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Aksi" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/it/messages.po b/src/frontend/src/locales/it/messages.po index 400da07060..00ff8cc343 100644 --- a/src/frontend/src/locales/it/messages.po +++ b/src/frontend/src/locales/it/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: it\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Italian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Errore nel renderizzare il componente" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Si è verificato un errore durante il rendering di questo componente. Fare riferimento alla console per maggiori informazioni." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Copiato" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Copia" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Duplica" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Modifica" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Azioni" msgid "Search" msgstr "Ricerca" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Seleziona Colonne" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Salta / Ignora" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Admin" msgid "Build Orders" msgstr "Ordini di Produzione" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Non implementato" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Questa funzione non è ancora stata implementata" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Permesso negato" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "Non disponi dell'autorizzazione per eseguire quest'azione" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Codice di Ritorno Non Valido" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Il server ha restituito lo stato {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Timeout" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "La richiesta è scaduta" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "Processo fallito" msgid "Process completed successfully" msgstr "Operazione completata con successo" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Errore nel renderizzare il componente" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Si è verificato un errore durante il rendering di questo componente. Fare riferimento alla console per maggiori informazioni." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "Il codice a barre non corrisponde al tipo di modello previsto" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "Gestione del codice a barre non riuscita" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Scansione del codice a barre non riuscita" @@ -786,14 +832,6 @@ msgstr "Apri nell'interfaccia di amministrazione" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Copiato" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Copia" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Stampa Etichette" @@ -930,7 +968,7 @@ msgstr "Mese successivo" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Elimina" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Pagina Non Trovata" msgid "This page does not exist" msgstr "Questa pagina non esiste" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Permesso negato" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "Non ha i permessi per visualizzare questa pagina." @@ -1604,8 +1637,8 @@ msgstr "Errore del server" msgid "A server error occurred" msgstr "Si è verificato un errore del server" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Errore Modulo" @@ -1613,11 +1646,11 @@ msgstr "Errore Modulo" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Esistono errori per uno o più campi del modulo" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Opzioni" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Azioni Codice A Barre" @@ -2617,11 +2650,11 @@ msgstr "Notifiche" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "Reso" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Conta" @@ -5351,38 +5384,10 @@ msgstr "Password cambiata" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Non implementato" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Questa funzione non è ancora stata implementata" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "Non disponi dell'autorizzazione per eseguire quest'azione" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Codice di Ritorno Non Valido" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Il server ha restituito lo stato {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Timeout" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "La richiesta è scaduta" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "Esportazione dati" @@ -5811,73 +5816,73 @@ msgstr "Si è verificato un errore imprevisto" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "Articolo già scansionato" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "Errore API" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "Recupero dati istanza non riuscito" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "Errore Di Scansione" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Gli elementi selezionati non sono noti" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Più tipi di oggetti selezionati" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "Azioni ... " + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "Azioni ... " - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "Scansione Codice A Barre" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "Inserimento codice a barre" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Azione" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "Nessun articolo selezionato" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "Scansiona e seleziona gli articoli per eseguire azioni" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "Scansiona e seleziona gli articoli per eseguire azioni" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} elementi selezionati" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "Articoli Scansionati" @@ -9132,11 +9137,6 @@ msgstr "Elementi Assegnati" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Seleziona Colonne" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Filtro" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Filtri tabella" @@ -9435,12 +9435,12 @@ msgstr "Aggiungi filtro" msgid "Clear Filters" msgstr "Rimuovi filtri" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Nessun record trovato" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "Errore nel caricare le opzioni della tabella" @@ -9468,7 +9468,7 @@ msgstr "Errore nel caricare le opzioni della tabella" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "Il server ha restituito un tipo di dati errato" @@ -9477,7 +9477,7 @@ msgstr "Il server ha restituito un tipo di dati errato" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "Errore nel caricare i dati della tabella" @@ -9494,49 +9494,49 @@ msgstr "Errore nel caricare i dati della tabella" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "Mostra dettagli" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "Visualizza {model}" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Elimina elementi selezionati" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "Sei sicuro di voler eliminare gli elementi selezionati?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "Questa azione non può essere annullata" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "Elementi eliminati" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "Eliminazione degli elementi non riuscita" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "I filtri tabella personalizzati sono attivi" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Cancella record selezionati" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Ricarica dati" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "Filtri attivi" diff --git a/src/frontend/src/locales/ja/messages.po b/src/frontend/src/locales/ja/messages.po index 40b2376664..ce9d0eadd0 100644 --- a/src/frontend/src/locales/ja/messages.po +++ b/src/frontend/src/locales/ja/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ja\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Japanese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "エラー:コンポーネント描画" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "このコンポーネントの描画中にエラーが発生しました。詳細はコンソールを参照してください。" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "コピーしました" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "コピー" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "複製" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "編集" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "アクション" msgid "Search" msgstr "検索" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "列の選択" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "パス" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "管理者" msgid "Build Orders" msgstr "組立注文" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "未実施" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "この機能はまだ実装されていません" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "権限がありません" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "この操作を実行する権限がありません" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "無効なリターンコード" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "サーバーが返したステータス [0]" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "タイムアウト" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "リクエストがタイムアウトしました" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "プロセス失敗" msgid "Process completed successfully" msgstr "プロセスは正常に完了しました。" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "エラー:コンポーネント描画" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "このコンポーネントの描画中にエラーが発生しました。詳細はコンソールを参照してください。" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "バーコードが想定されるモデルタイプと一致しません #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "バーコードの処理に失敗しました" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "バーコードのスキャンに失敗しました" @@ -786,14 +832,6 @@ msgstr "管理画面で開く" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "コピーしました" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "コピー" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "ラベル印刷中" @@ -930,7 +968,7 @@ msgstr "来月" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "クリア" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "お探しのページが見つかりません。" msgid "This page does not exist" msgstr "このページは存在しません" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "権限がありません" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "このページを表示する権限がありません。" @@ -1604,8 +1637,8 @@ msgstr "サーバーエラー" msgid "A server error occurred" msgstr "サーバーエラーが発生しました" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "フォームエラー" @@ -1613,11 +1646,11 @@ msgstr "フォームエラー" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "1つ以上のフォームフィールドにエラーがあります" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "オプション" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "バーコードアクション" @@ -2617,11 +2650,11 @@ msgstr "通知" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "戻る" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "カウント" @@ -5351,38 +5384,10 @@ msgstr "パスワードが変更されました" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "未実施" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "この機能はまだ実装されていません" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "この操作を実行する権限がありません" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "無効なリターンコード" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "サーバーが返したステータス [0]" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "タイムアウト" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "リクエストがタイムアウトしました" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "データエクスポート中" @@ -5811,73 +5816,73 @@ msgstr "予期しないエラーが発生しました" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "スキャン済みアイテム" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "APIエラー" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "インスタンスデータの取得に失敗" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "スキャンエラー" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "選択された要素は不明" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "複数のオブジェクトタイプを選択" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "アクション..." + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "アクション..." - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "バーコードスキャン" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "バーコード入力" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "アクション" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "選択されたアイテムなし" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "アイテムをスキャンして選択し、アクションを実行する" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "アイテムをスキャンして選択し、アクションを実行する" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} 選択された項目" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "スキャンされたアイテム" @@ -9132,11 +9137,6 @@ msgstr "割り当てライン" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "列の選択" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "フィルタ" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "テーブルフィルター" @@ -9435,12 +9435,12 @@ msgstr "フィルタを追加" msgid "Clear Filters" msgstr "絞り込み条件を解除する" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "記録が見つかりません" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "テーブルオプションの読み込み中にエラーが発生しました" @@ -9468,7 +9468,7 @@ msgstr "テーブルオプションの読み込み中にエラーが発生しま #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "サーバーが不正なデータ型を返しました。" @@ -9477,7 +9477,7 @@ msgstr "サーバーが不正なデータ型を返しました。" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "テーブルデータの読み込み中にエラーが発生しました" @@ -9494,49 +9494,49 @@ msgstr "テーブルデータの読み込み中にエラーが発生しました #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "詳細を見る" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "{model}を表示" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "選択したアイテムを削除" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "選択したアイテムを削除しますか?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "この操作は元に戻せません。" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "削除されたアイテム" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "アイテムの削除に失敗しました" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "カスタムテーブルフィルターが有効" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "選択したレコードの削除" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "データを更新する" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "適用中のフィルター" diff --git a/src/frontend/src/locales/ko/messages.po b/src/frontend/src/locales/ko/messages.po index e34518ecf7..94a2d2c580 100644 --- a/src/frontend/src/locales/ko/messages.po +++ b/src/frontend/src/locales/ko/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ko\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Korean\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "" msgid "Search" msgstr "" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "" msgid "This page does not exist" msgstr "" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "" @@ -1604,8 +1637,8 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "" @@ -1613,11 +1646,11 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "" @@ -2617,11 +2650,11 @@ msgstr "" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/lt/messages.po b/src/frontend/src/locales/lt/messages.po index f02c0815bf..46922dbeb8 100644 --- a/src/frontend/src/locales/lt/messages.po +++ b/src/frontend/src/locales/lt/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: lt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Lithuanian\n" "Plural-Forms: nplurals=4; plural=(n%10==1 && (n%100>19 || n%100<11) ? 0 : (n%10>=2 && n%10<=9) && (n%100>19 || n%100<11) ? 1 : n%1!=0 ? 2: 3);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Klaida atvaizduojant komponentą" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Įvyko klaida atvaizduojant šį komponentą. Daugiau informacijos rasite konsoleje." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Nukopijuota" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Kopijuoti" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "" msgid "Search" msgstr "" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Atlikta" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Klaida atvaizduojant komponentą" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Įvyko klaida atvaizduojant šį komponentą. Daugiau informacijos rasite konsoleje." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Nepavyko nuskaityti brūkšninio kodo" @@ -786,14 +832,6 @@ msgstr "Atidaryti administravimo sąsajoje" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Nukopijuota" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Kopijuoti" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Spausdinamos etiketės" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "" msgid "This page does not exist" msgstr "" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "" @@ -1604,8 +1637,8 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "" @@ -1613,11 +1646,11 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "" @@ -2617,11 +2650,11 @@ msgstr "" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/lv/messages.po b/src/frontend/src/locales/lv/messages.po index 25a5adee30..7be98d95db 100644 --- a/src/frontend/src/locales/lv/messages.po +++ b/src/frontend/src/locales/lv/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: lv\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Latvian\n" "Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2;\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "" msgid "Search" msgstr "" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "" msgid "This page does not exist" msgstr "" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "" @@ -1604,8 +1637,8 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "" @@ -1613,11 +1646,11 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "" @@ -2617,11 +2650,11 @@ msgstr "" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/nl/messages.po b/src/frontend/src/locales/nl/messages.po index 0ec1045c0c..c621108304 100644 --- a/src/frontend/src/locales/nl/messages.po +++ b/src/frontend/src/locales/nl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: nl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Dutch\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Fout bij renderen component" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Er is een fout opgetreden tijdens het weergeven van deze component. Raadpleeg de console voor meer informatie." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Gekopieerd" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Kopieer" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Dupliceren" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Bewerken" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Acties" msgid "Search" msgstr "Zoeken" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Kolommen selecteren" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Geslaagd" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Administrator" msgid "Build Orders" msgstr "Productieorders" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Niet geïmplementeerd" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Deze functionaliteit is nog niet geïmplementeerd" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Toestemming geweigerd" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "U heeft geen rechten om deze actie uit te voeren" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Ongeldige retourcode" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Server geeft status terug {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Tijdslimiet" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "De aanvraag duurde te lang" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "Proces is mislukt" msgid "Process completed successfully" msgstr "Proces succesvol voltooid" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Fout bij renderen component" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Er is een fout opgetreden tijdens het weergeven van deze component. Raadpleeg de console voor meer informatie." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "Barcode komt niet overeen met het verwachte type model" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "Streepjescode verwerken mislukt" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Streepjescode scannen mislukt" @@ -786,14 +832,6 @@ msgstr "Open in admin interface" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Gekopieerd" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Kopieer" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Labels afdrukken" @@ -930,7 +968,7 @@ msgstr "Volgende maand" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "Gegevens exporteren" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Wis" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Pagina niet gevonden" msgid "This page does not exist" msgstr "Deze pagina bestaat niet" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Toestemming geweigerd" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "U heeft geen toestemming om deze pagina te bekijken." @@ -1604,8 +1637,8 @@ msgstr "Server fout" msgid "A server error occurred" msgstr "Er is een serverfout opgetreden" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Formulier fout" @@ -1613,11 +1646,11 @@ msgstr "Formulier fout" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Er staan fouten in één of meer formuliervelden" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Opties" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Barcode acties" @@ -2617,11 +2650,11 @@ msgstr "Meldingen" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "Terug" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Aantal" @@ -5351,38 +5384,10 @@ msgstr "Wachtwoord gewijzigd" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Niet geïmplementeerd" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Deze functionaliteit is nog niet geïmplementeerd" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "U heeft geen rechten om deze actie uit te voeren" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Ongeldige retourcode" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Server geeft status terug {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Tijdslimiet" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "De aanvraag duurde te lang" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "Gegevens exporteren" @@ -5811,73 +5816,73 @@ msgstr "Er is een onverwachte fout opgetreden" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "Item is al gescand" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "API fout" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "Kan instance gegevens niet ophalen" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "Scan fout" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Geselecteerde elementen zijn niet bekend" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Meerdere objecttypes geselecteerd" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "Acties ... " + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "Acties ... " - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "Barcode scannen" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "Barcode Input" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Actie" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "Geen items geselecteerd" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "Scan en selecteer items om acties uit te voeren" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "Scan en selecteer items om acties uit te voeren" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} items geselecteerd" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "Gescande items" @@ -9132,11 +9137,6 @@ msgstr "Toegewezen lijnen" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Kolommen selecteren" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Filter" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Tabel filters" @@ -9435,12 +9435,12 @@ msgstr "Filter toevoegen" msgid "Clear Filters" msgstr "Filters wissen" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Geen gegevens gevonden" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "Fout bij laden tabel opties" @@ -9468,7 +9468,7 @@ msgstr "Fout bij laden tabel opties" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "Server heeft onjuist gegevenstype teruggestuurd" @@ -9477,7 +9477,7 @@ msgstr "Server heeft onjuist gegevenstype teruggestuurd" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "Fout bij laden van tabelgegevens" @@ -9494,49 +9494,49 @@ msgstr "Fout bij laden van tabelgegevens" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "Details weergeven" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "{model} Bekijken" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Geselecteerde items verwijderen" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "Weet u zeker dat u de geselecteerde items wilt verwijderen?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "Deze actie kan niet ongedaan worden gemaakt" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "Items verwijderd" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "Verwijderen van item is mislukt." -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "Aangepaste tabelfilters zijn actief" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Verwijder de geselecteerde records" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Gegevens vernieuwen" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "Actieve filters" diff --git a/src/frontend/src/locales/no/messages.po b/src/frontend/src/locales/no/messages.po index 3c8f7d863c..8ec767757a 100644 --- a/src/frontend/src/locales/no/messages.po +++ b/src/frontend/src/locales/no/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: no\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Norwegian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Kopiert" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Kopi" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Dupliser" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Rediger" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Handlinger" msgid "Search" msgstr "Søk" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Velg Kolonner" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "Produksjonsordrer" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Ikke implementert" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Denne funksjonen er ikke implementert ennå" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "Du har ikke rettigheter til å utføre denne handlingen" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Ugyldig returkode" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Serveren returnerte status {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Kopiert" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Kopi" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Skriver etikett" @@ -930,7 +968,7 @@ msgstr "Neste måned" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "" msgid "This page does not exist" msgstr "" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "" @@ -1604,8 +1637,8 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Skjemafeil" @@ -1613,11 +1646,11 @@ msgstr "Skjemafeil" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Strekkodehandlinger" @@ -2617,11 +2650,11 @@ msgstr "Varlser" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Tell" @@ -5351,38 +5384,10 @@ msgstr "Passord endret" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Ikke implementert" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Denne funksjonen er ikke implementert ennå" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "Du har ikke rettigheter til å utføre denne handlingen" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Ugyldig returkode" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Serveren returnerte status {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Valgte elementer er ikke kjent" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Flere objekttyper er valgt" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Handling" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} elementer valgt" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Velg Kolonner" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Filter" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Tabellfiltre" @@ -9435,12 +9435,12 @@ msgstr "Legg til filter" msgid "Clear Filters" msgstr "Fjern filtre" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Ingen poster funnet" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "Serveren returnerte feil datatype" @@ -9477,7 +9477,7 @@ msgstr "Serveren returnerte feil datatype" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Slett valgte oppføringer" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Oppdater data" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/pl/messages.po b/src/frontend/src/locales/pl/messages.po index 2e771f7149..33e9e30084 100644 --- a/src/frontend/src/locales/pl/messages.po +++ b/src/frontend/src/locales/pl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Polish\n" "Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Błąd renderowania komponentu" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Wystąpił błąd podczas renderowania tego komponentu. Więcej informacji znajdziesz na konsoli." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Skopiowano" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Kopiuj" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Zduplikuj" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Edytuj" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Akcje" msgid "Search" msgstr "Szukaj" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Zaliczone" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Administracja" msgid "Build Orders" msgstr "Zlecenia wykonania" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Nie zaimplementowano" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Odmowa dostępu" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "Nie masz uprawnień do wykonania tej czynności" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Nieprawidłowy kod odpowiedzi" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Serwer zwrócił status {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Błąd renderowania komponentu" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Wystąpił błąd podczas renderowania tego komponentu. Więcej informacji znajdziesz na konsoli." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "Kod kreskowy nie pasuje do oczekiwanego typu modelu" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "Nie udało się przetworzyć kodu kreskowego" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Nie udało się zeskanować kodu kreskowego" @@ -786,14 +832,6 @@ msgstr "Otwórz w interfejsie administratora" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Skopiowano" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Kopiuj" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Drukowanie etykiet" @@ -930,7 +968,7 @@ msgstr "Następny miesiąc" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Wyczyść" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Nie znaleziono strony" msgid "This page does not exist" msgstr "Strona nieistnieje" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Odmowa dostępu" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "Nie masz uprawnień do przeglądania tej strony." @@ -1604,8 +1637,8 @@ msgstr "Błąd serwera" msgid "A server error occurred" msgstr "Wystąpił błąd serwera" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Błąd formularza" @@ -1613,11 +1646,11 @@ msgstr "Błąd formularza" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Istnieją błędy dla jednego lub więcej pól formularzy" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Opcje" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Akcje kodów kreskowych" @@ -2617,11 +2650,11 @@ msgstr "Powiadomienia" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Ilość" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Nie zaimplementowano" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "Nie masz uprawnień do wykonania tej czynności" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Nieprawidłowy kod odpowiedzi" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Serwer zwrócił status {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/pt/messages.po b/src/frontend/src/locales/pt/messages.po index 5c099aca5f..deac8a37e7 100644 --- a/src/frontend/src/locales/pt/messages.po +++ b/src/frontend/src/locales/pt/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Portuguese\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Erro ao renderizar componente" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Ocorreu um erro ao renderizar este componente. Consulte o console para obter mais informações." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Copiado" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Copiar" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Duplicar" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Editar" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Ações" msgid "Search" msgstr "Buscar" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Selecionar Colunas" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Aprovar" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "Ordens de Produções" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Não implementado" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Este recurso ainda não foi implementado" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "Não tem permissões para efetuar esta ação" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Código de retorno inválido" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "O servidor retornou o status {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Erro ao renderizar componente" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Ocorreu um erro ao renderizar este componente. Consulte o console para obter mais informações." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "Abrir na interface de administrador" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Copiado" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Copiar" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Apagar" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1588,11 +1626,6 @@ msgstr "" msgid "This page does not exist" msgstr "" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "" @@ -1605,8 +1638,8 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Erro de formulário" @@ -1614,11 +1647,11 @@ msgstr "Erro de formulário" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2183,8 +2216,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Ações de código de barras" @@ -2618,11 +2651,11 @@ msgstr "Notificações" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5008,7 +5041,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Contar" @@ -5352,38 +5385,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Não implementado" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Este recurso ainda não foi implementado" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "Não tem permissões para efetuar esta ação" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Código de retorno inválido" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "O servidor retornou o status {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5812,73 +5817,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Elementos selecionados não são conhecidos" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Vários tipos de objeto selecionados" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Ação" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} itens selecionados" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9133,11 +9138,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Selecionar Colunas" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9424,7 +9424,7 @@ msgid "Filter" msgstr "Filtro" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Filtros de tabela" @@ -9436,12 +9436,12 @@ msgstr "Adicionar Filtro" msgid "Clear Filters" msgstr "Limpar Filtros" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Nenhum registo encontrado" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9469,7 +9469,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "O servidor retornou dados incorretos" @@ -9478,7 +9478,7 @@ msgstr "O servidor retornou dados incorretos" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9495,49 +9495,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Remover registos selecionados" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Atualizar dados" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/pt_BR/messages.po b/src/frontend/src/locales/pt_BR/messages.po index 875aaab70b..e758b6318a 100644 --- a/src/frontend/src/locales/pt_BR/messages.po +++ b/src/frontend/src/locales/pt_BR/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: pt\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Portuguese, Brazilian\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Erro ao renderizar componente" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Um erro ocorreu ao renderizar este componente. Verifique o console para mais informações." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Copiada" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Copiar" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Duplicar" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Editar" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Ações" msgid "Search" msgstr "Buscar" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Selecionar Colunas" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Aprovado" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Admin" msgid "Build Orders" msgstr "Ordens de Produções" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Não implementado" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Esta função ainda não foi implementada" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Permissão negada" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "Você não tem permissão para realizar esta ação" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Código de retorno inválido" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "O servidor retornou o estado {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Tempo esgotado" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "A solicitação excedeu o tempo" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "Falha no processamento" msgid "Process completed successfully" msgstr "Processo finalizado com sucesso" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Erro ao renderizar componente" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Um erro ocorreu ao renderizar este componente. Verifique o console para mais informações." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "Código de barras não corresponde ao tipo de modelo esperado" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "Falha ao escanear código de barras" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Falha ao escanear código de barras" @@ -786,14 +832,6 @@ msgstr "Abrir na página de administrador" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Copiada" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Copiar" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Imprimir Etiquetas" @@ -930,7 +968,7 @@ msgstr "Mês seguinte" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Limpar" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Página Não Encontrada" msgid "This page does not exist" msgstr "Esta página não existe" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Permissão negada" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "Você não tem permissão para visualizar esta página." @@ -1604,8 +1637,8 @@ msgstr "Erro de servidor" msgid "A server error occurred" msgstr "Ocorreu um erro no servidor" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Erro no formulário" @@ -1613,11 +1646,11 @@ msgstr "Erro no formulário" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Existem erros para um ou mais campos de formulário" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Opções" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Ações de código de barras" @@ -2617,11 +2650,11 @@ msgstr "Notificações" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "Voltar" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Contar" @@ -5351,38 +5384,10 @@ msgstr "Senha alterada" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Não implementado" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Esta função ainda não foi implementada" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "Você não tem permissão para realizar esta ação" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Código de retorno inválido" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "O servidor retornou o estado {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Tempo esgotado" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "A solicitação excedeu o tempo" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "Exportando Dados" @@ -5811,73 +5816,73 @@ msgstr "Ocorreu um erro inesperado" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "Erro no escaneamento" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Selecionar elementos não conhecidos" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Múltiplos tipos de objetos selecionados" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "Ações ... " + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "Ações ... " - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "Escaneamento de Código de Barras" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "Entrada de código de barras" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Ação" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "Nenhum item selecionado" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} itens selecionados" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "Itens Escaneados" @@ -9132,11 +9137,6 @@ msgstr "Linhas Alocadas" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Selecionar Colunas" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Filtro" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Filtros da Tabela" @@ -9435,12 +9435,12 @@ msgstr "Adicionar Filtro" msgid "Clear Filters" msgstr "Limpar Filtros" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Nenhum registro encontrado" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "O servidor retornou um tipo de dado incorreto" @@ -9477,7 +9477,7 @@ msgstr "O servidor retornou um tipo de dado incorreto" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Apagar itens selecionados" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "Você tem certeza que quer apagar os itens selecionados?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Remover registros selecionados" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Atualizar dados" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/ro/messages.po b/src/frontend/src/locales/ro/messages.po index f69cc7a89f..ed44781adf 100644 --- a/src/frontend/src/locales/ro/messages.po +++ b/src/frontend/src/locales/ro/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ro\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Romanian\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100>0 && n%100<20)) ? 1 : 2);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Eroare la redarea componentei" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "A apărut o eroare în timpul redării acestei componente. Consultați consola pentru mai multe informații." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Copiat" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Copiază" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Duplicare" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Editare" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Acțiuni" msgid "Search" msgstr "Caută" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Treceți" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Admin" msgid "Build Orders" msgstr "Comenzi de Producție" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Eroare la redarea componentei" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "A apărut o eroare în timpul redării acestei componente. Consultați consola pentru mai multe informații." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "Codul de bare nu se potrivește cu tipul de model așteptat" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "Nu s-a reușit asocierea codului de bare" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Scanarea codului de bare a eșuat" @@ -786,14 +832,6 @@ msgstr "Deschide în Interfața Administrativă" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Copiat" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Copiază" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Tipărire Etichete" @@ -930,7 +968,7 @@ msgstr "Luna viitoare" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "Exportare date" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Sterge" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "" msgid "This page does not exist" msgstr "" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "" @@ -1604,8 +1637,8 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "" @@ -1613,11 +1646,11 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "" @@ -2617,11 +2650,11 @@ msgstr "" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" @@ -5351,38 +5384,10 @@ msgstr "Parolă schimbată" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/ru/messages.po b/src/frontend/src/locales/ru/messages.po index 78109deb26..724f50e8e1 100644 --- a/src/frontend/src/locales/ru/messages.po +++ b/src/frontend/src/locales/ru/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: ru\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\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" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Ошибка при отображении компонента" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Произошла ошибка при отрисовки этого компонента. Обратитесь к консоли для получения дополнительной информации." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Скопировано" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Копировать" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Дублировать" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Редактировать" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Действия" msgid "Search" msgstr "Поиск" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Выбрать столбцы" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Пропустить" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Администрирование пользователей" msgid "Build Orders" msgstr "Заказы на сборку" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Не реализовано" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Эта функция еще не реализована" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Доступ запрещён" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "У вас нет прав на выполнение данного действия" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Неверный код возврата" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Сервер вернул статус {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Таймаут" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "Превышено время выполнения запроса" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "Не удалось выполнить процесс" msgid "Process completed successfully" msgstr "Процесс успешно завершён" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Ошибка при отображении компонента" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Произошла ошибка при отрисовки этого компонента. Обратитесь к консоли для получения дополнительной информации." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "Штрихкод не соответствует ожидаемому т #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "Не удалось обработать штрихкод" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Ошибка сканирования штрихкода" @@ -786,14 +832,6 @@ msgstr "Открыть в панели администратора" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Скопировано" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Копировать" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Печать этикеток" @@ -930,7 +968,7 @@ msgstr "Следующий месяц" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "Экспорт данных" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Очистить" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Страница не найдена" msgid "This page does not exist" msgstr "Данной страницы не существует" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Доступ запрещён" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "У вас нет прав для просмотра этой страницы." @@ -1604,8 +1637,8 @@ msgstr "Ошибка сервера" msgid "A server error occurred" msgstr "Произошла ошибка сервера" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Ошибка формы" @@ -1613,11 +1646,11 @@ msgstr "Ошибка формы" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Существуют ошибки для одного или нескольких полей формы" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Опции" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Действия со штрихкодом" @@ -2617,11 +2650,11 @@ msgstr "Уведомления" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "Возврат" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Количество" @@ -5351,38 +5384,10 @@ msgstr "Пароль изменен" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Не реализовано" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Эта функция еще не реализована" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "У вас нет прав на выполнение данного действия" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Неверный код возврата" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Сервер вернул статус {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Таймаут" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "Превышено время выполнения запроса" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "Экспортирование данных" @@ -5811,73 +5816,73 @@ msgstr "Произошла неожиданная ошибка" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "Элемент уже отсканирован" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "Ошибка API" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "Не удалось получить данные" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "Ошибка сканирования" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Выбранные элементы не известны" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Выбрано несколько типов объектов" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "Действия ... " + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "Действия ... " - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "Сканирование штрихкодов" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "Ввод штрихкода" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Действие" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "Объекты не выбраны" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "Отсканируйте и выберите объекты для выполнения действий" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "Отсканируйте и выберите объекты для выполнения действий" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "Выбрано объектов: {0}" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "Отсканированные объекты" @@ -9132,11 +9137,6 @@ msgstr "Зарезервированные позиции" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Выбрать столбцы" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Отфильтровать" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Фильтр таблицы" @@ -9435,12 +9435,12 @@ msgstr "Добавить фильтр" msgid "Clear Filters" msgstr "Очистить фильтр" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Записи не найдены" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "Ошибка загрузки параметров таблицы" @@ -9468,7 +9468,7 @@ msgstr "Ошибка загрузки параметров таблицы" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "Сервер вернул неверный тип данных" @@ -9477,7 +9477,7 @@ msgstr "Сервер вернул неверный тип данных" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "Ошибка загрузки данных таблицы" @@ -9494,49 +9494,49 @@ msgstr "Ошибка загрузки данных таблицы" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "Показать сведения" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "Просмотреть {model}" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Удалить выбранные элементы" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "Вы уверены, что хотите удалить выбранные элементы?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "Это действие нельзя будет отменить" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "Элементы удалены" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "Не удалось удалить элементы" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "Используется пользовательский фильтр таблицы" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Удалить выбранные записи" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Обновить данные" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "Активные фильтры" diff --git a/src/frontend/src/locales/sk/messages.po b/src/frontend/src/locales/sk/messages.po index f7cef7a7b0..0ebafc665d 100644 --- a/src/frontend/src/locales/sk/messages.po +++ b/src/frontend/src/locales/sk/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sk\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Slovak\n" "Plural-Forms: nplurals=4; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 3;\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "" msgid "Search" msgstr "" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "" msgid "This page does not exist" msgstr "" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "" @@ -1604,8 +1637,8 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "" @@ -1613,11 +1646,11 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "" @@ -2617,11 +2650,11 @@ msgstr "" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/sl/messages.po b/src/frontend/src/locales/sl/messages.po index c13fdcb7e3..6a0be01254 100644 --- a/src/frontend/src/locales/sl/messages.po +++ b/src/frontend/src/locales/sl/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sl\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Slovenian\n" "Plural-Forms: nplurals=4; plural=n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3;\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Kopirano" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Kopiraj" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Podvojeni" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Uredi" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Dejanja" msgid "Search" msgstr "Išči" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Uspešno" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "Odpri v nadzorni plošči" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Kopirano" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Kopiraj" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "" msgid "This page does not exist" msgstr "" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "" @@ -1604,8 +1637,8 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "" @@ -1613,11 +1646,11 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "" @@ -2617,11 +2650,11 @@ msgstr "" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/sr/messages.po b/src/frontend/src/locales/sr/messages.po index fa67b7288d..c1c1869f9e 100644 --- a/src/frontend/src/locales/sr/messages.po +++ b/src/frontend/src/locales/sr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Serbian (Latin)\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Greška u renderovanju komponente" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Desila se greška prilikom renderovanja ovde komponente. Pogledajte konzolu za više informacija" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Iskopirano" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Kopiraj" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Dupliciraj" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Izmeni" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Akcije" msgid "Search" msgstr "Pretraga" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Izaberi kolone" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Prosledi" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "Nalozi za izradu" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Nije implementirano" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Ovo svojstvo još nije implementirano" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Dozvola odbijena" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "Nemate ovlašćenje za ovu aktivnost" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Neispravan povratni kod" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Server je vratio status {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Isteklo je vreme" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "Isteklo je vreme zahteva" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Greška u renderovanju komponente" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Desila se greška prilikom renderovanja ovde komponente. Pogledajte konzolu za više informacija" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Greška pri skeniranju bar koda" @@ -786,14 +832,6 @@ msgstr "Otvori u administratorskom interfejsu" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Iskopirano" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Kopiraj" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Obriši" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Stranica nije nađena" msgid "This page does not exist" msgstr "Tražena stranica ne postoji" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Dozvola odbijena" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "Nemate dozvolu da pristupite traženoj stranici" @@ -1604,8 +1637,8 @@ msgstr "Greška na serveru" msgid "A server error occurred" msgstr "Desila se greška na serverskoj strani" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Greška Obrasca" @@ -1613,11 +1646,11 @@ msgstr "Greška Obrasca" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Postoje greške na jednom ili više polja na obrascu" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Opcije" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Akcije Barkoda" @@ -2617,11 +2650,11 @@ msgstr "Obaveštenja" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "Vrati" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Računaj" @@ -5351,38 +5384,10 @@ msgstr "Lozinka promenjena" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Nije implementirano" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Ovo svojstvo još nije implementirano" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "Nemate ovlašćenje za ovu aktivnost" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Neispravan povratni kod" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Server je vratio status {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Isteklo je vreme" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "Isteklo je vreme zahteva" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "Desila se greška" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "Stavka već skenirana" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "API greška" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "Greška pri prikupljanju podataka instance" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "Greška skeniranja" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Izabrani elementi nisu poznati" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Višestruki tipovi selektovani" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "Skeniranje barkoda" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "Unos bar kodom" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Akcija" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "Nema izabranih stavki" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "Skeniraj i izaberi stavke za akcije" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "Skeniraj i izaberi stavke za akcije" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} stavki selektovano" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "Skenirane stavke" @@ -9132,11 +9137,6 @@ msgstr "Alocirane linije" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Izaberi kolone" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Filter" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Filteri tabele" @@ -9435,12 +9435,12 @@ msgstr "Dodaj filter" msgid "Clear Filters" msgstr "Očisti filtere" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Nema pronađenih zapisa" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "Server je vratio neispravan tip podataka" @@ -9477,7 +9477,7 @@ msgstr "Server je vratio neispravan tip podataka" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Obriši izabrane stavke" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "Da li ste sigurni da želite da obrišete ove izabrane stavke?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "Ova akcija se ne može poništiti" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "Prilagođeni filteri tabele su aktivni" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Obriši izabrane zapise" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Osveži podatke" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/sv/messages.po b/src/frontend/src/locales/sv/messages.po index 4b91167df5..341e69e7ba 100644 --- a/src/frontend/src/locales/sv/messages.po +++ b/src/frontend/src/locales/sv/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: sv\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Swedish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Fel vid rendering av komponent" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Ett fel inträffade vid rendering av denna komponent. Se konsolen för mer information." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Kopierad" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Kopiera" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Duplicera" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Redigera" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Åtgärder" msgid "Search" msgstr "Sök" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Välj kolumner" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Lyckades" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Admin" msgid "Build Orders" msgstr "Byggordrar" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Inte implementerad" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Denna funktionen har inte implementerats" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Åtkomst nekad" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "Du har inte behörighet att utföra denna åtgärd" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Ogiltig svarskod" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Servern returnerade status {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Fel vid rendering av komponent" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Ett fel inträffade vid rendering av denna komponent. Se konsolen för mer information." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "Öppna i administratörsgränssnittet" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Kopierad" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Kopiera" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "Nästa månad" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Rensa" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Sidan hittades inte" msgid "This page does not exist" msgstr "Sidan finns inte" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Åtkomst nekad" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "Du saknar behörighet att visa denna sida." @@ -1604,8 +1637,8 @@ msgstr "Serverfel" msgid "A server error occurred" msgstr "Ett serverfel inträffade" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Formulär fel" @@ -1613,11 +1646,11 @@ msgstr "Formulär fel" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Fel finns för ett eller flera formulärfält" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Alternativ" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Streckkods åtgärder" @@ -2617,11 +2650,11 @@ msgstr "Notifikationer" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" @@ -5351,38 +5384,10 @@ msgstr "Lösenord ändrat" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Inte implementerad" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Denna funktionen har inte implementerats" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "Du har inte behörighet att utföra denna åtgärd" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Ogiltig svarskod" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Servern returnerade status {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "Ett oväntat fel har inträffat" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "API-fel" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Valda element är inte kända" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Flera objekttyper valda" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "Åtgärder ... " + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "Åtgärder ... " - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Åtgärd" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} artiklar valda" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Välj kolumner" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Filter" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "Lägg till filter" msgid "Clear Filters" msgstr "Rensa filter" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Inga resultat hittades" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "Visa detaljer" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Uppdatera data" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "Aktiva filter" diff --git a/src/frontend/src/locales/th/messages.po b/src/frontend/src/locales/th/messages.po index 9a23579d83..e979ab6818 100644 --- a/src/frontend/src/locales/th/messages.po +++ b/src/frontend/src/locales/th/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: th\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Thai\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "" msgid "Search" msgstr "" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "" msgid "Build Orders" msgstr "" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "" msgid "This page does not exist" msgstr "" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "" @@ -1604,8 +1637,8 @@ msgstr "" msgid "A server error occurred" msgstr "" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "" @@ -1613,11 +1646,11 @@ msgstr "" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "" @@ -2617,11 +2650,11 @@ msgstr "" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/tr/messages.po b/src/frontend/src/locales/tr/messages.po index 15a7df2542..42679f5a14 100644 --- a/src/frontend/src/locales/tr/messages.po +++ b/src/frontend/src/locales/tr/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: tr\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Turkish\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Bileşen görüntüleme hatası" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Bu bileşeni görüntülerken bir hata oluştu. Daha fazla bilgi için konsola bakın." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Kopyalandı" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Kopyala" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "İkizini Oluştur" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Düzenle" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Eylemler" msgid "Search" msgstr "Ara" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Sütunları Seç" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Geç" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Yönetici" msgid "Build Orders" msgstr "Üretim Emirleri" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Gerçeklenmemiş" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Bu özellik henüz gerçeklenmemiş" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "İzin Reddedildi" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "Bu eylemi gerçekleştirme izniniz yok" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Geçersiz Dönüş Kodu" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Sunucu {returnCode} durumunu döndürdü" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "Zaman Aşımı" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "İstek zaman aşımı" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "İşlem başarısız" msgid "Process completed successfully" msgstr "İşlem başarı ile tamamlandı" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Bileşen görüntüleme hatası" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Bu bileşeni görüntülerken bir hata oluştu. Daha fazla bilgi için konsola bakın." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "Barkod beklenen model ile uyuşmuyor" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "Barkod işlenemedi" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Barkod taranamadı" @@ -786,14 +832,6 @@ msgstr "Yönetici arayüzünde aç" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Kopyalandı" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Kopyala" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Etiket Yazdırma" @@ -930,7 +968,7 @@ msgstr "Sonraki ay" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Temizle" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Sayfa Bulunamadı" msgid "This page does not exist" msgstr "Bu sayfa mevcut değil" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "İzin Reddedildi" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "Bu sayfayı görme izniniz yok." @@ -1604,8 +1637,8 @@ msgstr "Hatayı Kaydet" msgid "A server error occurred" msgstr "Bir sunucu hatası oluştu" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Form Hatası" @@ -1613,11 +1646,11 @@ msgstr "Form Hatası" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Bir veya daha fazla form alanında hatalar var" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Ayarlar" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Barkod Eylemleri" @@ -2617,11 +2650,11 @@ msgstr "Bildirimler" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "Geri Dön" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Say" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Gerçeklenmemiş" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Bu özellik henüz gerçeklenmemiş" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "Bu eylemi gerçekleştirme izniniz yok" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Geçersiz Dönüş Kodu" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Sunucu {returnCode} durumunu döndürdü" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "Zaman Aşımı" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "İstek zaman aşımı" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "Veriler Dışa Aktarılıyor" @@ -5811,73 +5816,73 @@ msgstr "Beklenmeyen bir hata oluştu" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Seçilen elemanlar bilinmiyor" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Birden çok nesne türü seçildi" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Eylem" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "{0} öge seçildi" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "Tahsis Edilen Kalemler" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Sütunları Seç" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Filtre" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Tablo Süzgeçleri" @@ -9435,12 +9435,12 @@ msgstr "Filtre Ekle" msgid "Clear Filters" msgstr "Süzgeçleri Temizle" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Hiç kayıt bulunamadı" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "Sunucu yanlış veri türü döndürdü" @@ -9477,7 +9477,7 @@ msgstr "Sunucu yanlış veri türü döndürdü" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Seçilen Ögeleri Sil" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "Seçilen ögeleri silmek istediğinize emin misiniz?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "Bu işlem geri alınamaz" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "Ürünler silindi" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "Ürünlerin silinmesi başarısız" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Seçili kayıtları sil" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Veriyi yenile" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "Aktif Filtreler" diff --git a/src/frontend/src/locales/uk/messages.po b/src/frontend/src/locales/uk/messages.po index f9f30f3c61..ff44c7fb76 100644 --- a/src/frontend/src/locales/uk/messages.po +++ b/src/frontend/src/locales/uk/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: uk\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Ukrainian\n" "Plural-Forms: nplurals=4; plural=((n%10==1 && n%100!=11) ? 0 : ((n%10 >= 2 && n%10 <=4 && (n%100 < 12 || n%100 > 14)) ? 1 : ((n%10 == 0 || (n%10 >= 5 && n%10 <=9)) || (n%100 >= 11 && n%100 <= 14)) ? 2 : 3));\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Помилка рендерингу компонента" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Сталася помилка під час рендерингу цього компонента. Передивитись в консоль для отримання додаткової інформації." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Скопійовано" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Копіювати" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Дублювати" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Редагувати" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Дії" msgid "Search" msgstr "Пошук" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Пропустити" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Адмін" msgid "Build Orders" msgstr "Замовлення на збірку" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Дозвіл відхилено" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Помилка рендерингу компонента" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Сталася помилка під час рендерингу цього компонента. Передивитись в консоль для отримання додаткової інформації." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Не вдалося сканувати штрих-код" @@ -786,14 +832,6 @@ msgstr "Відкрити в інтерфейсі адміністратора" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Скопійовано" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Копіювати" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "Друк етикеток" @@ -930,7 +968,7 @@ msgstr "Наступний місяць" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Очистити" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Сторінку не знайдено" msgid "This page does not exist" msgstr "Цієї сторінки не існує" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Дозвіл відхилено" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "У вас немає дозволу на перегляд цієї сторінки." @@ -1604,8 +1637,8 @@ msgstr "Помилка сервера" msgid "A server error occurred" msgstr "Сталася помилка сервера" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Помилка форми" @@ -1613,11 +1646,11 @@ msgstr "Помилка форми" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Існують деякі помилки для одного або декількох полів" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "Параметри" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "" @@ -2617,11 +2650,11 @@ msgstr "Сповіщення" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Кількість" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "" @@ -9435,12 +9435,12 @@ msgstr "" msgid "Clear Filters" msgstr "" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "" @@ -9477,7 +9477,7 @@ msgstr "" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/vi/messages.po b/src/frontend/src/locales/vi/messages.po index d8d29f142c..ddcc4af076 100644 --- a/src/frontend/src/locales/vi/messages.po +++ b/src/frontend/src/locales/vi/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: vi\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Vietnamese\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "Lỗi khi hiển thị thành phần" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "Một lỗi đã xảy ra trong quá trình hiển thị thành phần này. Vui lòng tham khảo bảng điều khiển để biết thêm thông tin." + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "Đã sao chép" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "Sao chép" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "Nhân bản" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "Sửa" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "Chức năng" msgid "Search" msgstr "Tìm kiếm" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "Chọn cột" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "Hoàn tất" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "Quản trị" msgid "Build Orders" msgstr "Đơn đặt bản dựng" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "Chưa triển khai" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "Tính năng này vẫn chưa được triển khai" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "Từ chối phân quyền" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "Bạn không có quyền thực hiện hành động này" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "Mã trả hàng không hợp lệ" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "Mã phản hồi của máy chủ {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "Lỗi khi hiển thị thành phần" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "Một lỗi đã xảy ra trong quá trình hiển thị thành phần này. Vui lòng tham khảo bảng điều khiển để biết thêm thông tin." - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "Quét mã vạch thất bại" @@ -786,14 +832,6 @@ msgstr "Mở trong giao diện quản trị" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "Đã sao chép" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "Sao chép" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "In nhãn" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "Clear" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "Không tìm thấy trang" msgid "This page does not exist" msgstr "Trang không tồn tại" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "Từ chối phân quyền" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "Bạn không có quyền xem trang này" @@ -1604,8 +1637,8 @@ msgstr "Lỗi máy chủ" msgid "A server error occurred" msgstr "Xảy ra lỗi máy chủ" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "Lỗi form" @@ -1613,11 +1646,11 @@ msgstr "Lỗi form" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "Lỗi nhập liệu" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "Chức năng mã vạch" @@ -2617,11 +2650,11 @@ msgstr "Thông báo" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "Đếm" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "Chưa triển khai" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "Tính năng này vẫn chưa được triển khai" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "Bạn không có quyền thực hiện hành động này" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "Mã trả hàng không hợp lệ" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "Mã phản hồi của máy chủ {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "Đã xảy ra lỗi không mong muốn." #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "Chọn phần tử chưa được biết đến" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "Đã chọn nhiều loại đối tượng" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "Thao tác" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "đã chọn {0} mục" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "Chọn cột" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "Bộ lọc" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "Bộ lọc bảng" @@ -9435,12 +9435,12 @@ msgstr "Thêm bộ lọc" msgid "Clear Filters" msgstr "Xóa bộ lọc" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "Không tìm thấy biểu ghi" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "Máy chủ trả chưa đúng dữ liệu" @@ -9477,7 +9477,7 @@ msgstr "Máy chủ trả chưa đúng dữ liệu" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "Xóa mục đã chọn" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "Bạn muốn xóa các mục đã chọn?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "Xóa bản ghi được chọn" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "Làm mới dữ liệu" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "" diff --git a/src/frontend/src/locales/zh_Hans/messages.po b/src/frontend/src/locales/zh_Hans/messages.po index 095c57dcc0..16801c3b10 100644 --- a/src/frontend/src/locales/zh_Hans/messages.po +++ b/src/frontend/src/locales/zh_Hans/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Chinese Simplified\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "渲染组件出错" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "渲染此组件时发生错误。请参阅控制台获取更多信息。" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "已复制" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "复制" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "复制" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "编辑" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "操作" msgid "Search" msgstr "搜索" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "选择列" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "通过" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "管理员" msgid "Build Orders" msgstr "生产订单" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "尚未实现" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "此功能尚未实现" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "权限受限" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "您无权执行此操作。" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "无效返回码" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "服务器返回状态 {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "超时" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "请求已超时" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "处理失败" msgid "Process completed successfully" msgstr "处理成功" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "渲染组件出错" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "渲染此组件时发生错误。请参阅控制台获取更多信息。" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "条形码与预期型号不匹配" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "条形码处理失败" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "扫描条形码失败" @@ -786,14 +832,6 @@ msgstr "在管理员界面打开" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "已复制" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "复制" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "打印标签" @@ -930,7 +968,7 @@ msgstr "下个月" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "出口数据" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "清除" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "无法找到页面" msgid "This page does not exist" msgstr "此页面不存在" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "权限受限" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "您没有权限查看此网页。" @@ -1604,8 +1637,8 @@ msgstr "服务器错误" msgid "A server error occurred" msgstr "服务器出错。" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "表单错误" @@ -1613,11 +1646,11 @@ msgstr "表单错误" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "一个或多个表单字段存在错误" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "选项" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "条形码操作" @@ -2616,14 +2649,14 @@ msgstr "通知" #~ msgid "Administrator Mode" #~ msgstr "Administrator Mode" -#: src/components/nav/Header.tsx:231 -msgid "Admin Mode" -msgstr "" - #: src/components/nav/Header.tsx:231 msgid "Superuser Mode" msgstr "超级用户模式" +#: src/components/nav/Header.tsx:231 +msgid "Admin Mode" +msgstr "" + #: src/components/nav/Header.tsx:237 msgid "The current user has elevated privileges and should not be used for regular usage." msgstr "当前用户拥有提升权限,不应用于日常常规操作。" @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "退货" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "总计" @@ -5351,38 +5384,10 @@ msgstr "密码已更改" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "尚未实现" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "此功能尚未实现" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "您无权执行此操作。" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "无效返回码" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "服务器返回状态 {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "超时" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "请求已超时" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "正在导出数据" @@ -5811,73 +5816,73 @@ msgstr "发生意外错误。" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "项目已扫描" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "API 错误" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "获取实例数据失败" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "扫描错误" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "所选元素未知" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "选择多个对象类型" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "操作 ... " + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "操作 ... " - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "条形码扫描" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "条形码输入" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "操作" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "未选中项目" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "扫描并选择项目以执行操作" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "扫描并选择项目以执行操作" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "已选择 {0} 项" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "已扫描项目" @@ -9132,11 +9137,6 @@ msgstr "已分配的项目" msgid "Line Item" msgstr "行项目" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "选择列" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "过滤器" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "表格筛选" @@ -9435,12 +9435,12 @@ msgstr "添加过滤条件" msgid "Clear Filters" msgstr "清除筛选" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "没有找到记录" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "表格选项加载错误" @@ -9468,7 +9468,7 @@ msgstr "表格选项加载错误" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "服务器返回了错误的数据类型" @@ -9477,7 +9477,7 @@ msgstr "服务器返回了错误的数据类型" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "表格数据加载错误" @@ -9494,49 +9494,49 @@ msgstr "表格数据加载错误" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "查看详情" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "{model} 视图" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "删除所选项目" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "确定要删除所选的项目吗?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "该操作无法撤销" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "物料已删除" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "删除物料失败" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "当前启用了自定义表格筛选器" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "删除选中的记录" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "刷新数据" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr "当前生效的筛选条件" diff --git a/src/frontend/src/locales/zh_Hant/messages.po b/src/frontend/src/locales/zh_Hant/messages.po index d0c8abfba7..fcd416555b 100644 --- a/src/frontend/src/locales/zh_Hant/messages.po +++ b/src/frontend/src/locales/zh_Hant/messages.po @@ -8,7 +8,7 @@ msgstr "" "Language: zh\n" "Project-Id-Version: inventree\n" "Report-Msgid-Bugs-To: \n" -"PO-Revision-Date: 2026-04-11 03:27\n" +"PO-Revision-Date: 2026-04-13 10:40\n" "Last-Translator: \n" "Language-Team: Chinese Traditional\n" "Plural-Forms: nplurals=1; plural=0;\n" @@ -18,9 +18,25 @@ msgstr "" "X-Crowdin-File: /src/frontend/src/locales/en/messages.po\n" "X-Crowdin-File-ID: 252\n" +#: lib/components/Boundary.tsx:14 +msgid "Error rendering component" +msgstr "渲染組件出錯" + +#: lib/components/Boundary.tsx:16 +msgid "An error occurred while rendering this component. Refer to the console for more information." +msgstr "渲染此組件時發生錯誤。請參閲控制枱獲取更多信息。" + +#: lib/components/CopyButton.tsx:49 +msgid "Copied" +msgstr "已複製" + +#: lib/components/CopyButton.tsx:49 +msgid "Copy" +msgstr "複製" + #: lib/components/RowActions.tsx:36 #: src/components/items/ActionDropdown.tsx:289 -#: src/pages/Index/Scan.tsx:64 +#: src/pages/Index/Scan.tsx:62 msgid "Duplicate" msgstr "複製" @@ -30,7 +46,7 @@ msgid "Edit" msgstr "編輯" #: lib/components/RowActions.tsx:56 -#: src/components/forms/ApiForm.tsx:770 +#: src/components/forms/ApiForm.tsx:769 #: src/components/items/ActionDropdown.tsx:257 #: src/components/items/RoleTable.tsx:155 #: src/hooks/UseForm.tsx:170 @@ -77,6 +93,11 @@ msgstr "操作" msgid "Search" msgstr "搜尋" +#: lib/components/TableColumnSelect.tsx:16 +#: lib/components/TableColumnSelect.tsx:23 +msgid "Select Columns" +msgstr "選擇列" + #: lib/components/YesNoButton.tsx:20 msgid "Pass" msgstr "通過" @@ -582,7 +603,7 @@ msgstr "" #: src/pages/part/PartPricingPanel.tsx:71 #: src/states/IconState.tsx:46 #: src/states/IconState.tsx:76 -#: src/tables/InvenTreeTableHeader.tsx:124 +#: src/tables/InvenTreeTableHeader.tsx:128 #: src/tables/bom/BomTable.tsx:557 #: src/tables/settings/EmailTable.tsx:109 #: src/tables/stock/StockItemTestResultTable.tsx:338 @@ -608,6 +629,39 @@ msgstr "管理" msgid "Build Orders" msgstr "生產訂單" +#: lib/functions/Notification.tsx:11 +msgid "Not implemented" +msgstr "尚未實現" + +#: lib/functions/Notification.tsx:12 +msgid "This feature is not yet implemented" +msgstr "此功能尚未實現" + +#: lib/functions/Notification.tsx:23 +#: src/components/errors/PermissionDenied.tsx:8 +msgid "Permission Denied" +msgstr "權限受限" + +#: lib/functions/Notification.tsx:24 +msgid "You do not have permission to perform this action" +msgstr "您無權執行此操作。" + +#: lib/functions/Notification.tsx:35 +msgid "Invalid Return Code" +msgstr "無效返回碼" + +#: lib/functions/Notification.tsx:36 +msgid "Server returned status {returnCode}" +msgstr "服務器返回狀態 {returnCode}" + +#: lib/functions/Notification.tsx:46 +msgid "Timeout" +msgstr "超時" + +#: lib/functions/Notification.tsx:47 +msgid "The request timed out" +msgstr "請求已超時" + #: lib/hooks/MonitorDataOutput.tsx:57 #: lib/hooks/MonitorDataOutput.tsx:116 msgid "Process failed" @@ -617,14 +671,6 @@ msgstr "" msgid "Process completed successfully" msgstr "" -#: src/components/Boundary.tsx:14 -msgid "Error rendering component" -msgstr "渲染組件出錯" - -#: src/components/Boundary.tsx:16 -msgid "An error occurred while rendering this component. Refer to the console for more information." -msgstr "渲染此組件時發生錯誤。請參閲控制枱獲取更多信息。" - #: src/components/DashboardItemProxy.tsx:34 #~ msgid "Title" #~ msgstr "Title" @@ -704,7 +750,7 @@ msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:161 #: src/components/editors/NotesEditor.tsx:84 #: src/components/editors/NotesEditor.tsx:118 -#: src/components/forms/ApiForm.tsx:496 +#: src/components/forms/ApiForm.tsx:495 #: src/components/wizards/ImportPartWizard.tsx:566 #: src/components/wizards/ImportPartWizard.tsx:691 #: src/pages/Index/Settings/AdminCenter/CurrencyManagementPanel.tsx:45 @@ -718,7 +764,7 @@ msgid "Failed to handle barcode" msgstr "" #: src/components/barcodes/BarcodeScanDialog.tsx:183 -#: src/pages/Index/Scan.tsx:129 +#: src/pages/Index/Scan.tsx:127 msgid "Failed to scan barcode" msgstr "" @@ -786,14 +832,6 @@ msgstr "在管理員界面打開" #~ msgid "Copy to clipboard" #~ msgstr "Copy to clipboard" -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copied" -msgstr "已複製" - -#: src/components/buttons/CopyButton.tsx:50 -msgid "Copy" -msgstr "複製" - #: src/components/buttons/PrintingActions.tsx:56 msgid "Printing Labels" msgstr "" @@ -930,7 +968,7 @@ msgstr "" #~ msgstr "Download data" #: src/components/calendar/Calendar.tsx:194 -#: src/tables/InvenTreeTableHeader.tsx:288 +#: src/tables/InvenTreeTableHeader.tsx:292 msgid "Export data" msgstr "" @@ -1351,7 +1389,7 @@ msgid "Clear" msgstr "清除" #: src/components/details/DetailsImage.tsx:306 -#: src/components/forms/ApiForm.tsx:712 +#: src/components/forms/ApiForm.tsx:711 #: src/contexts/ThemeContext.tsx:56 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:151 #: src/pages/Index/Settings/AccountSettings/MFASettings.tsx:570 @@ -1587,11 +1625,6 @@ msgstr "無法找到頁面" msgid "This page does not exist" msgstr "此頁面不存在" -#: src/components/errors/PermissionDenied.tsx:8 -#: src/functions/notifications.tsx:25 -msgid "Permission Denied" -msgstr "權限受限" - #: src/components/errors/PermissionDenied.tsx:9 msgid "You do not have permission to view this page." msgstr "您沒有權限查看此網頁。" @@ -1604,8 +1637,8 @@ msgstr "服務器錯誤" msgid "A server error occurred" msgstr "服務器出錯。" -#: src/components/forms/ApiForm.tsx:108 -#: src/components/forms/ApiForm.tsx:624 +#: src/components/forms/ApiForm.tsx:107 +#: src/components/forms/ApiForm.tsx:623 msgid "Form Error" msgstr "表單錯誤" @@ -1613,11 +1646,11 @@ msgstr "表單錯誤" #~ msgid "Form Errors Exist" #~ msgstr "Form Errors Exist" -#: src/components/forms/ApiForm.tsx:634 +#: src/components/forms/ApiForm.tsx:633 msgid "Errors exist for one or more form fields" msgstr "一個或多個表單字段存在錯誤" -#: src/components/forms/ApiForm.tsx:750 +#: src/components/forms/ApiForm.tsx:749 #: src/hooks/UseForm.tsx:139 #: src/tables/plugin/PluginListTable.tsx:210 msgid "Update" @@ -2182,8 +2215,8 @@ msgstr "選項" #~ msgstr "Link custom barcode" #: src/components/items/ActionDropdown.tsx:171 -#: src/tables/InvenTreeTableHeader.tsx:192 -#: src/tables/InvenTreeTableHeader.tsx:193 +#: src/tables/InvenTreeTableHeader.tsx:196 +#: src/tables/InvenTreeTableHeader.tsx:197 msgid "Barcode Actions" msgstr "條碼操作" @@ -2617,11 +2650,11 @@ msgstr "通知" #~ msgstr "Administrator Mode" #: src/components/nav/Header.tsx:231 -msgid "Admin Mode" +msgid "Superuser Mode" msgstr "" #: src/components/nav/Header.tsx:231 -msgid "Superuser Mode" +msgid "Admin Mode" msgstr "" #: src/components/nav/Header.tsx:237 @@ -5007,7 +5040,7 @@ msgid "Return" msgstr "退貨" #: src/forms/StockForms.tsx:988 -#: src/pages/Index/Scan.tsx:182 +#: src/pages/Index/Scan.tsx:180 msgid "Count" msgstr "總計" @@ -5351,38 +5384,10 @@ msgstr "" #~ msgid "method parameter not supplied" #~ msgstr "method parameter not supplied" -#: src/functions/notifications.tsx:13 -msgid "Not implemented" -msgstr "尚未實現" - -#: src/functions/notifications.tsx:14 -msgid "This feature is not yet implemented" -msgstr "此功能尚未實現" - #: src/functions/notifications.tsx:24 #~ msgid "Permission denied" #~ msgstr "Permission denied" -#: src/functions/notifications.tsx:26 -msgid "You do not have permission to perform this action" -msgstr "您無權執行此操作。" - -#: src/functions/notifications.tsx:37 -msgid "Invalid Return Code" -msgstr "無效返回碼" - -#: src/functions/notifications.tsx:38 -msgid "Server returned status {returnCode}" -msgstr "服務器返回狀態 {returnCode}" - -#: src/functions/notifications.tsx:48 -msgid "Timeout" -msgstr "超時" - -#: src/functions/notifications.tsx:49 -msgid "The request timed out" -msgstr "請求已超時" - #: src/hooks/UseDataExport.tsx:34 msgid "Exporting Data" msgstr "" @@ -5811,73 +5816,73 @@ msgstr "發生意外錯誤。" #~ msgid "Design <0/>" #~ msgstr "Design <0/>" -#: src/pages/Index/Scan.tsx:65 +#: src/pages/Index/Scan.tsx:63 msgid "Item already scanned" msgstr "" -#: src/pages/Index/Scan.tsx:82 +#: src/pages/Index/Scan.tsx:80 msgid "API Error" msgstr "" -#: src/pages/Index/Scan.tsx:83 +#: src/pages/Index/Scan.tsx:81 msgid "Failed to fetch instance data" msgstr "" -#: src/pages/Index/Scan.tsx:130 +#: src/pages/Index/Scan.tsx:128 msgid "Scan Error" msgstr "" -#: src/pages/Index/Scan.tsx:162 +#: src/pages/Index/Scan.tsx:160 msgid "Selected elements are not known" msgstr "所選元素未知" -#: src/pages/Index/Scan.tsx:169 +#: src/pages/Index/Scan.tsx:167 msgid "Multiple object types selected" msgstr "選擇多個對象類型" +#: src/pages/Index/Scan.tsx:175 +msgid "Actions ... " +msgstr "" + #: src/pages/Index/Scan.tsx:175 #~ msgid "Actions ..." #~ msgstr "Actions ..." -#: src/pages/Index/Scan.tsx:177 -msgid "Actions ... " -msgstr "" - -#: src/pages/Index/Scan.tsx:194 -#: src/pages/Index/Scan.tsx:198 +#: src/pages/Index/Scan.tsx:192 +#: src/pages/Index/Scan.tsx:196 msgid "Barcode Scanning" msgstr "" -#: src/pages/Index/Scan.tsx:207 +#: src/pages/Index/Scan.tsx:205 msgid "Barcode Input" msgstr "" -#: src/pages/Index/Scan.tsx:214 +#: src/pages/Index/Scan.tsx:212 msgid "Action" msgstr "操作" -#: src/pages/Index/Scan.tsx:217 +#: src/pages/Index/Scan.tsx:215 msgid "No Items Selected" msgstr "" +#: src/pages/Index/Scan.tsx:216 +msgid "Scan and select items to perform actions" +msgstr "" + #: src/pages/Index/Scan.tsx:217 #~ msgid "Manual input" #~ msgstr "Manual input" -#: src/pages/Index/Scan.tsx:218 -msgid "Scan and select items to perform actions" -msgstr "" - #: src/pages/Index/Scan.tsx:218 #~ msgid "Image Barcode" #~ msgstr "Image Barcode" #. placeholder {0}: selection.length -#: src/pages/Index/Scan.tsx:223 +#: src/pages/Index/Scan.tsx:221 msgid "{0} items selected" msgstr "已選擇 {0} 項" -#: src/pages/Index/Scan.tsx:235 +#: src/pages/Index/Scan.tsx:233 msgid "Scanned Items" msgstr "" @@ -9132,11 +9137,6 @@ msgstr "已分配的項目" msgid "Line Item" msgstr "" -#: src/tables/ColumnSelect.tsx:16 -#: src/tables/ColumnSelect.tsx:23 -msgid "Select Columns" -msgstr "選擇列" - #: src/tables/DownloadAction.tsx:13 #~ msgid "Excel" #~ msgstr "Excel" @@ -9423,7 +9423,7 @@ msgid "Filter" msgstr "過濾器" #: src/tables/FilterSelectDrawer.tsx:354 -#: src/tables/InvenTreeTableHeader.tsx:259 +#: src/tables/InvenTreeTableHeader.tsx:263 msgid "Table Filters" msgstr "表格篩選" @@ -9435,12 +9435,12 @@ msgstr "添加過濾條件" msgid "Clear Filters" msgstr "清除篩選" -#: src/tables/InvenTreeTable.tsx:47 -#: src/tables/InvenTreeTable.tsx:522 +#: src/tables/InvenTreeTable.tsx:52 +#: src/tables/InvenTreeTable.tsx:526 msgid "No records found" msgstr "沒有找到記錄" -#: src/tables/InvenTreeTable.tsx:154 +#: src/tables/InvenTreeTable.tsx:162 msgid "Error loading table options" msgstr "" @@ -9468,7 +9468,7 @@ msgstr "" #~ msgid "This action cannot be undone!" #~ msgstr "This action cannot be undone!" -#: src/tables/InvenTreeTable.tsx:567 +#: src/tables/InvenTreeTable.tsx:571 msgid "Server returned incorrect data type" msgstr "服務器返回了錯誤的數據類型" @@ -9477,7 +9477,7 @@ msgstr "服務器返回了錯誤的數據類型" #~ msgid "Print actions" #~ msgstr "Print actions" -#: src/tables/InvenTreeTable.tsx:600 +#: src/tables/InvenTreeTable.tsx:604 msgid "Error loading table data" msgstr "" @@ -9494,49 +9494,49 @@ msgstr "" #~ msgid "Clear custom query filters" #~ msgstr "Clear custom query filters" -#: src/tables/InvenTreeTable.tsx:729 +#: src/tables/InvenTreeTable.tsx:733 msgid "View details" msgstr "" -#: src/tables/InvenTreeTable.tsx:732 +#: src/tables/InvenTreeTable.tsx:736 msgid "View {model}" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:103 +#: src/tables/InvenTreeTableHeader.tsx:107 msgid "Delete Selected Items" msgstr "刪除所選項目" -#: src/tables/InvenTreeTableHeader.tsx:107 +#: src/tables/InvenTreeTableHeader.tsx:111 msgid "Are you sure you want to delete the selected items?" msgstr "確定要刪除所選的項目嗎?" -#: src/tables/InvenTreeTableHeader.tsx:109 +#: src/tables/InvenTreeTableHeader.tsx:113 #: src/tables/plugin/PluginListTable.tsx:320 msgid "This action cannot be undone" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:120 +#: src/tables/InvenTreeTableHeader.tsx:124 msgid "Items deleted" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:125 +#: src/tables/InvenTreeTableHeader.tsx:129 msgid "Failed to delete items" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:176 +#: src/tables/InvenTreeTableHeader.tsx:180 msgid "Custom table filters are active" msgstr "" -#: src/tables/InvenTreeTableHeader.tsx:202 +#: src/tables/InvenTreeTableHeader.tsx:206 #: src/tables/general/BarcodeScanTable.tsx:93 msgid "Delete selected records" msgstr "刪除選中的記錄" -#: src/tables/InvenTreeTableHeader.tsx:222 +#: src/tables/InvenTreeTableHeader.tsx:226 msgid "Refresh data" msgstr "刷新數據" -#: src/tables/InvenTreeTableHeader.tsx:271 +#: src/tables/InvenTreeTableHeader.tsx:275 msgid "Active Filters" msgstr ""